2011-09-28 130 views
0

我是新来的Android框架(使用Eclipse),我有一个关于调试的问题。最近我在一个活动中做了这个错误:如何调试Android项目

// The installation button 
Button button = (Button) findViewById(R.id.preparationInstallButtonID); 
button.setOnClickListener(this); 

setContentView(R.layout.preparation); 

即我试图在布局渲染之前添加一个onclick事件。这使程序崩溃,“对不起,应用程序xxx已意外停止”。在调试模式下再次运行它,Eclipse打开一个包含“Thread < 3>(Suspended)”等的调试窗口(我相信你知道我在说哪个窗口)。

现在,我怎么能够在这里提取有用的数据?关于上面的问题,我发现如何通过反复试验来修复它,但是让我们说我无法做反复试验,调试窗口如何帮助我找到错误的根源?它说“异常RuntimeException”,但我没有看到任何指针,在我的代码中发生异常的地方。

+0

您应该能够在logcat窗口中看到您的调用堆栈的回溯。它可能会以红色打印。用它来确定哪个方法抛出异常。 –

回答

2

使用LogCat这会给你错误信息和你的测试设备/模拟器中发生的一切。

窗口 - >显示视图 - >其他 - > logcat的

+0

嗨。我试过这个,但没有运气。看到这个Eclipse screendump: http://bos.hack。org:81/tmp/eclipse_debug.png 调试窗口显示“RuntimeException”,但logcat没有任何提示。 – bos

+0

LogCat将所有日志类型显示为默认值,这就是很多东西。你可能想点击(E)。这只是错误。即使发生错误,LogCat也能够抓住事物,您的错误可能会在该列表上更高。它应该赶上它.. –

1

我强烈建议在一般的调试本教程。

http://www.vogella.com/articles/EclipseDebugging/article.html

它带你穿越所有功能Eclipse提供了在该部门,是非常值得的时间。对于可能有所帮助的特定技巧,设置断点(即,单击代码的左边缘以使其中一个蓝色针脚出现)可能是有用的。然后,当在调试中运行时,您可以在发生问题的地方靠近并停止,并在调试窗口顶部使用“step into”,“step forward”和“step return”命令前进, 。当您以这种方式绕过代码时,您可能会打开变量窗口,以便您可以查看应该以什么方式设置的内容等。

或者,您可以在RuntimeException上设置断点(即使是被捕获的),通过在调试中点击断点窗口,然后舔“J!”按钮(鼠标悬停文字显示“添加Java异常断点。”

调试视图,可以做其它很酷的东西太多,如:

  • 让您设置“观察点”,所以你可以看到,当应用程序变化相关领域等
  • “删除帧”,因此您可以在中间开始您的应用程序。
  • 设置步骤的过滤器,让“步进”通过我前面提到,可以更有效地完成。
  • 创建一个细节格式化程序,这是构成的一小段Java代码ats字段的输出,以便您可以在调试器中更清晰地查看它。
  • 还有更多!

同样,我推荐上面参考的教程。欢迎来到美妙的调试世界。

+0

我有点困惑的downvote。问题是,我如何从eclipse **中的调试页面提取有用的数据**。相互竞争的答案基本上说,使用logcat(通常在主视图中),ddms视图等,因此并没有真正解决这个问题。 –

3

如果您想调试: 右键单击您想要调试的代码部分的左侧(在行号)。选择切换断点。

enter image description here

你可以看到行号旁边的小圆圈,那就是断点。

enter image description here

然后,使运行配置,单击运行图标旁边的小箭头,然后单击 '运行配置..'

enter image description here

点击Android应用程序,你会看到这个对话框窗口:

enter image description here

读它,“highlig ht“这样:'按新的按钮创建所选类型的配置'。单击新建按钮,标签上面,你会看到这个对话框:

enter image description here

填充它,浏览你的项目,

enter image description here

例如,我添加了美味的项目,并启动默认活动。点击Target Tab,选择您的模拟器。如果您想在物理设备上运行,请点击“始终提示选择设备”。我在这个时候物理设备为共同选项卡上运行,

enter image description here

,如果也许你想在收藏菜单,检查显示为“调试”或“运行”选项。这是可选的。点击应用。

enter image description here

点击调试图标 - 并选择您的项目。如果您在“收藏夹”菜单中的“显示”中激活“调试”,该项目将显示在调试选项菜单中。

enter image description here

我选择“总是提示来接设备”,该对话框会显示。我想在物理设备上运行,因此我在“选择正在运行的Android设备”上单击该设备,然后单击“确定”。您也可以在仿真器上运行。只需点击你的模拟器,然后点击确定。

enter image description here

如果日食给予确认打开的角度来看,选择是

enter image description here

然后,如果你想知道什么是变量的值,只要把你的鼠标的实例变量,或者您可以在“调试”透视图的“变量”窗口中浏览。

enter image description here