我一直在嘗試幾個月,讓我的調試器破壞我自己的代碼,沒有成功。 ZygoteInit.run()方法中的每個未捕獲異常都會中斷。如何在Android Studio中正確設置異常斷點?
這是我採取的操作列表。
- 新增
debug { debuggable true }
到我的應用程序模塊的build.gradle文件 - 手動添加的
debuggable="true"
我AndroidManifest.xml文件 - 經過的
Any exception
複選框中斷點窗口 - 添加了相關的類過濾器模式的
Any exception
斷點- 這會導致調試器完全跳過所有未捕獲的異常
我一直在調試通過查看logcat的堆棧跟蹤,這的確顯示堆棧跟蹤我的班。
我已經看到此版本目前&以前在stable和canary頻道的版本。
這裏有什麼我失蹤?
編輯:只是爲了澄清的人,問題是,我有「捕捉異常」框未選中。選中此框可解決我的問題。
這是我的Gradle文件的相關部分,如果它有幫助的話。
android {
compileSdkVersion 22
buildToolsVersion '22.0.0'
defaultConfig {
applicationId "com.--redacted--"
minSdkVersion 15
targetSdkVersion 22
versionCode 30
versionName "0.0.30"
multiDexEnabled true
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/beans.xml'
}
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
這是我的斷點窗口的屏幕截圖。
難道你不能只是在任何地方添加try/catch塊來縮小發生異常的位置,然後只要將代碼縮小到特定的代碼塊,就把一個斷點放入並調試代碼? – 2015-03-19 06:16:53
@Fahim沒有解決我的問題。該鏈接沒有詳細提及異常斷點。 – 2015-03-19 22:05:49
@DanielNugent我的代碼庫相當大。這不是一個現實的解決方案。我希望調試工具能夠像廣告一樣工作。 – 2015-03-19 22:06:29