我正在尝试调试我正在编写的Android应用程序,并发现没有写入控制台/ logcat / messages的异常堆栈跟踪。 我试图删除.gradle文件夹并重新启动android-studio,一些帖子如何推荐,但它没有帮助我。
我使用Android Studio 2.3.1并使用虚拟Nexus 5X API 25和真正的华为P9 lite与Android 6.0进行测试。两个设备都存在问题。
如果我删除google play服务依赖项,问题仍然存在。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-maps:10.2.4'
}
我的问题似乎有点像这个问题,但这个问题没有答案: AndroidStudio no stacktrace shown after app crash
我可以找到带断点的bug,但是这花费了我五倍的时间,然后只是阅读抛出异常的地方。
顺便说一下:控制台只打印Log.e消息而不是Log.d。
答案 0 :(得分:0)
我有时会发生同样的事情。似乎Android Studio认为它启动了一个新的调试会话,并且不再显示旧日志。 在这种情况下,我更改了显示器设置:
这样我就会看到所有错误/警告日志条目,果然,如果之前没有崩溃,它通常会出现这些设置。
不要忘记之后改回首选设置。
答案 1 :(得分:0)
我在linux中,打开控制台并输入
adb start-server
以及logcat选项卡上方切换到新模拟器
答案 2 :(得分:0)
我也经常看到这个问题。
在我的情况下,它通常是由我在重新启动进程/应用程序时测试的设备引起的。这意味着logcat中的当前视图是针对新进程的,而不是我想要的错误。
如果您查看逻辑窗口,您会看到您实际上可以从下拉框中选择该流程 - 您正在寻找的流程可能会在其后面带有'DEAD'。
你可以在这里看到一个例子:
答案 3 :(得分:0)
首先,重启设备并尝试触发错误。如果不起作用,请按下看起来像带有停止图标的重做按钮的底部按钮:
这会重新启动Logcat,它会擦除显示的当前日志条目,但是当你触发它时应显示错误。