Jer*_*ite 6 java android android-studio
我已经尝试了几个月让我的调试器打破我自己的代码,没有成功.ZygoteInit.run()方法中每个未捕获的异常都会中断.
这是我采取的行动清单.
debug { debuggable true }到我的app模块的build.gradle文件中debuggable="true"到我的AndroidManifest.xml文件中Any exceptionBreakpoints窗口中的复选框Any exception断点
添加了相关的类过滤器模式我一直在调试Logcat中的堆栈跟踪,它确实在堆栈跟踪中显示了我的类.
我已经在稳定和金丝雀频道的当前和以前版本中看到过这个版本.
这里有什么东西我不见了吗?
编辑:只是为了澄清人们,问题是我没有选中"捕获异常"框.选中此框可解决我的问题.
这是我的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"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的Breakpoints窗口的屏幕截图.

CJB*_*JBS 10
还有几件事需要确保:
请在此处查看更详细的说明:https://stackoverflow.com/a/28862538/3063884

此方法捕获所有引发的异常(检查"捕获"和"未捕获"时).因此提出了所有内部异常.类过滤器的规范通过排除其中一些异常来限制它.例如,在上面的屏幕转储中ClassNotFoundException,忽略了在启动期间频繁引发的屏幕转储.
这种方法的一个小缺点是在app启动期间,可能会有一条消息指示"找不到当前堆栈帧的源类".这是因为尚未加载所有源代码.这只会在启动期间发生一次,可以安全地忽略.避免这种情况的另一种方法(如果在应用启动期间没有预期的例外)是"运行"
应用程序(而不是启动'Debug'),然后通过运行 - > 将调试器附加到Android进程手动将应用程序附加到调试器 ...或者按下
工具栏中的按钮.
| 归档时间: |
|
| 查看次数: |
9135 次 |
| 最近记录: |