Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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 在Eclipse上调试时无法使用F5单步执行函数_Android_Eclipse_Multithreading_Debugging_Step Into - Fatal编程技术网

Android 在Eclipse上调试时无法使用F5单步执行函数

Android 在Eclipse上调试时无法使用F5单步执行函数,android,eclipse,multithreading,debugging,step-into,Android,Eclipse,Multithreading,Debugging,Step Into,有时(大约50%的时候),在调试Android应用程序时,为了进入一个函数,我使用F5(F6是用来检查它的),但它什么也不做 有时,常规调试键都不起作用(F5、F6、F7、F8,可能还有其他我不知道的键) 目前,克服此问题的唯一方法是从“调试”视图(显示每个线程的当前堆栈)中选择当前线程,然后按F5。当情况更糟时(例如,无法使用内容辅助),我重新启动eclipse 说到线程,我注意到,如果我有多个线程在运行,有时当我试图更进一步时,它会转到另一个线程,这很烦人,因为我失去了对当前线程的注意力。我

有时(大约50%的时候),在调试Android应用程序时,为了进入一个函数,我使用F5(F6是用来检查它的),但它什么也不做

有时,常规调试键都不起作用(F5、F6、F7、F8,可能还有其他我不知道的键)

目前,克服此问题的唯一方法是从“调试”视图(显示每个线程的当前堆栈)中选择当前线程,然后按F5。当情况更糟时(例如,无法使用内容辅助),我重新启动eclipse

说到线程,我注意到,如果我有多个线程在运行,有时当我试图更进一步时,它会转到另一个线程,这很烦人,因为我失去了对当前线程的注意力。我知道这是有道理的,但它真的很烦人,特别是当我考虑到有多个线程时

为什么会发生这些事情,我如何修复它们


注意:我有Eclipse、ADT和Android SDK的最新版本。这个问题发生在设备和模拟器上。

我找到了一个好的线程,它解释了如何在Eclipse中使用步骤过滤器进行调试。可以找到线程。显然,这是eclipse中的一个问题,而且越来越多的人遇到了这个问题,因此目前这是一个解决方法:

您可以将EclipseJava调试器配置为不单步执行这些操作 通过配置“阶跃过滤器”可获得代码位

  • 转到Windows->首选项->Java->调试->步骤筛选
  • 选中“使用分步过滤器”
  • 检查屏幕上的相应选项。您可以添加与您自己的代码库相关的部分
  • 单击“应用”

  • 看看这是否对您有帮助。

    您无法控制线程的执行模式,因为它们不是按顺序运行的,但调试器可以

    我在后台运行的线程和异步操作方面也遇到过类似的问题

    我如何管理它:

    • 我所做的是在没有线程的情况下运行相同的代码,并在确认后将其放入线程
    • 使用
      android.os.Debug.waitForDebugger()在你的线程中。它会自动将您带到那里,并强制调试器在此停止。在那里你可以继续你的调试
    注意事项

    在启动应用程序之前不要忘记注释这一行,否则它将导致无休止的等待,因为在实际设备中它也将进入调试模式

    此外,这并不是Eclipse的错,这纯粹是因为线程的性质,因为它开始在自己的环境中执行。VisualStudio与线程的行为相同

    有时,常规调试键都不起作用(F5、F6、F7、F8,可能还有其他我不知道的键)

    除调试视图外,这些键都不能在其他视图中工作。这是故意的

    当情况更糟时(例如,无法使用内容辅助),我重新启动eclipse

    您的eclipse安装有缺陷或键盘有故障。在阅读了你的其他评论后,我对此持肯定态度。我的eclipse安装被插件搞得一团糟,可能与此有关。在尝试快捷方式之前,确保eclipse代码窗口具有焦点。这也可能导致这个问题。如果所有这些都失败了,请尝试迁移到另一个版本的eclipse,以尝试隔离问题

    我有一段时间对eclipse有一个奇怪的bug,当我按下backspace键时,它会删除以前打开的文件中同一行的字符。这太可怕了,我不得不重新安装并转移到另一个版本的eclipse(我记不起以前的版本是什么)。也许你的情况与此相似

    说到线程,我注意到,如果我有多个线程在运行,有时当我试图更进一步时,它会转到另一个线程,这很烦人,因为我失去了对当前线程的注意力


    我知道痛苦。不幸的是,没有办法绕过它。Eclipse在暂停线程时不考虑断点的优先级。看看这个相关的问题-。如果您可以设置阻止调试器移动到另一个线程,这将有所帮助

    您可以尝试重置透视图(以防您不想移动某个对象而移动了它)

    这可以通过以下方式在调试透视图中完成:

  • 右键单击调试透视图(Eclipse右上角的“区域”)并选择“
    Reset

  • 切换到调试透视图并单击菜单
    窗口->重置透视图…


  • 在我的例子中,键被分配用来做一些与android studio无关的事情,比如增加音量,这样我就可以重新配置文件/settings/keymap来重新配置什么键做什么

    当问题发生时-看看是否可以在Preferences->General->Keys下找到键绑定,然后在这里告诉我是否可以找到。你是否有机会在经典gnome桌面管理器中使用Ubuntu11.04?我在这个设置中遇到了很多Eclipse问题;它们包括一些不那么烦人的怪癖,如javadoc不显示、右键菜单不显示、自动完成不工作、调试键(如F5、F6)不工作,以及顶部的樱桃、完全gui冻结。我还没有真正在Unity下使用Eclipse(因为我讨厌它),所以我不知道这一点。至于线程问题。。。这从未发生过(据我记忆所及)@g00dy我一直都有钥匙绑定。@alex,我在显示这些问题的办公室使用windows 7,但在使用windows 8的家中也会发生这种情况(尽管可能不太频繁)。没有检查它。我应该检查哪一个?这不正是我所问的相反吗?即使是F8也不行,那我为什么要用它呢?即使是基本键也可以停止工作(如删除)。这就像eclipse上的一个巨大bug,我不知道它为什么会发生。今天我有夏娃