在eclipse中调试android异常

时间:2014-08-19 04:21:00

标签: java android eclipse

我对android,java和eclipse相当新手。当我的代码遇到一些异常时,程序崩溃了,我在logcat中收到了大量的错误信息。

logcat显示的信息实在太多了。我必须一直滚动到顶部以查看原始异常的确切位置。这让我每次都很头疼。我可以设置任何选项来减少logcat中无用信息的数量吗?而且,还有一件烦人的事情。当程序第一次停止运行时,我在日志猫中看不到任何内容。我必须单击“恢复”按钮两次才能在log cat中看到大块信息。

第二个问题是,当程序中断时,我得到的堆栈跟踪不包含抛出异常的原始点。它看起来异常被android系统中的外层代码抛出并捕获。该堆栈跟踪完全无用,我无法使用它来检查函数中的局部变量,从而导致原始异常。

我读了一些关于在特定例外中设置断点的帖子。如果我知道什么是原始类型的异常,那就有效。但事实是,在外层系统代码捕获到原始异常之后,我在调试器中看到的只是“runtimeException”。

感谢您提供有助于在eclipse中进行调试的任何提示。

1 个答案:

答案 0 :(得分:1)

ADT的SDK工具已经更新,在大多数情况下,您可以双击日志中的坏行,它将带您进入有问题的代码行。

因此,请确保您在SDK中加载了最新的工具集。

以下是logcat中空指针异常的摘录。

08-19 05:13:33.746: D/AndroidRuntime(1002): Shutting down VM
08-19 05:13:33.746: W/dalvikvm(1002): threadid=1: thread exiting with uncaught exception (group=0xa6306288)
08-19 05:13:33.746: E/AndroidRuntime(1002): FATAL EXCEPTION: main
08-19 05:13:33.746: E/AndroidRuntime(1002): java.lang.NullPointerException
08-19 05:13:33.746: E/AndroidRuntime(1002):     at com.hlresidential.aceyourexam.MainActivity.onSKUChange(MainActivity.java:1107)
08-19 05:13:33.746: E/AndroidRuntime(1002):     at com.hlresidential.aceyourexam.MainActivity$10.onClick(MainActivity.java:1061)

如果你双击第二行到最后一行,你应该被带到违规的源代码行。

如果你的logcat中有'CAUSED BY'语句,通常是应该双击的以下语句。

希望这会有所帮助。