Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调试android回调?_Android_Debugging - Fatal编程技术网

如何调试android回调?

如何调试android回调?,android,debugging,Android,Debugging,我试图使用Eclipse调试器调试我的Android应用程序,但它似乎不起作用。我在我的MasterActivity.java文件中为onOptionsItemSelected设置了一个回调,我在这个方法中设置了一个断点,我知道该断点正在命中。然后右键单击我的应用程序,进入Debug As->Android应用程序。当我单击ActionBar中触发此回调并应启动调试过程的按钮时,我的程序将继续运行,就像我的断点不在那里一样。这里我肯定缺少一些基本的东西,但我不确定是什么。检查一个项目(在本例中我

我试图使用Eclipse调试器调试我的Android应用程序,但它似乎不起作用。我在我的
MasterActivity.java
文件中为
onOptionsItemSelected
设置了一个回调,我在这个方法中设置了一个断点,我知道该断点正在命中。然后右键单击我的应用程序,进入
Debug As->Android应用程序
。当我单击ActionBar中触发此回调并应启动调试过程的按钮时,我的程序将继续运行,就像我的断点不在那里一样。这里我肯定缺少一些基本的东西,但我不确定是什么。

检查一个项目(在本例中我猜是菜单项)的一个好方法是使用Log.d方法(字符串标记,字符串消息)。因此,在OnOptions ItemSelected事件处理程序中,您可以添加例如Log.d(“调试”,“选项项已选定”)。不必使用调试方式,运行方式也可以。日志消息将在Eclipse中的LogCat中以蓝色显示。

Simon建议添加日志消息,这是确保调用回调的良好开端,除非已经有回调所特有的其他证据表明它正在被触发。我们只能猜测,因为您没有包含任何代码,并且没有任何东西像程序员假设它们是正确的那样浪费时间,包括我自己;-)


但是,请尝试在断点处于活动状态的行之前添加对的调用

我知道如何打印到日志,但我想通过单步执行调试。为什么不能使用日志进行调试?因为我更喜欢单步执行。。。?它使我能够更好地控制调试过程,并且花费的时间更少。如果可能的话,我想知道怎么做。你说的单步执行是什么意思?我更喜欢使用一个调试器,让我单步执行每一行代码,在每一点停止并显示所有变量的值,让我检查它们,等等。用打印语句进行调试是很耗时的。
没有什么比程序员假设它们是正确的那样浪费时间了。
一个很好的引用,在这种情况下可能完全正确(+1)。谢谢!很难相信5年后在Android one上调试时仍然会遇到这个问题。我很难为情地说,花了多少时间试图弄清楚回调为什么没有启动,而事实上是这样。对我来说,这发生在IntelliJ上,所以这不是eclipse。它一定是安卓SDK的东西。