2016-09-25 63 views
2

在Android Studio中,我以Debug模式運行應用程序,將其加載到模擬器中。然後我通過應用程序點擊UI,所以我的用戶定義的方法被調用來生成堆棧跟蹤。我按暫停,查看調試器 - >線程和框架窗口,但它只顯示一般平臺特定的框架,而不是我的。 當我設置一箇中斷點時,我的框架會出現,但爲什麼按下暫停時它不起作用?爲什麼直到那一刻才能看到所有的幀?如何查看包含由我的方法生成的框架的strackrace?

所以我怎麼能看到strackrace,也包括我的方法生成的框架,沒有放置斷點,如果沒有,爲什麼不可能?

回答

1

嘗試計算自從與UI進行交互以來,直到您按下調試器的「暫停」按鈕爲止的時間。這段時間足夠讓你自己的方法返回到框架代碼,它已經調用了你的監聽器/回調函數。

要查看堆棧跟蹤不涉及剛剛使用任何調試器:

new Throwable("tada!!!").printStackTrace(); 

然後,只需檢查logcat的輸出。或者,您可以存儲Throwable並稍後打印其堆棧跟蹤。將其轉換爲字符串 - 使用Log.getStackTraceString()

+0

因此,通過調試程序獲得'內置'行爲的方式,您必須介入該過程 – microwth

相關問題