我一直在尝试几个月,让我的调试器破坏我自己的代码,没有成功。 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