2011-12-15 57 views
0

我无法在我的模拟器上调试任何应用程序,它们都挂在“应用程序...正在等待调试程序附加,这已经不是问题了,我试图调试应用程序,我编程了几个月以前,即使是那些无法连接到调试器为什么调试器在尝试使用android模拟器和eclipse进行调试时未附加?

我寻觅了一圈,发现共同解决这一问题,如: 使用许可“android.permission.SET_DEBUG_APP” 和具有应用标签的android:可调试=在这个问题中发现“true” Attaching debugger - android problem但经过检查,发现我的应用程序已经设置了这些设置

我也确定'USB调试'在设置>应用程序>开发中检查设置。我也经常检查新的日食更新。 我想我在eclipse更新后开始出现这个问题。有没有人找到解决这个问题的方法? 我一直在研究一个非常酷的应用程序,并且能够创建用户界面,但真的需要能够进行调试,因为我将执行以前没有的任何事情,而且没有任何调试将会成为主要原因, 。

+0

你在运行什么系统?尝试启动仿真器并从命令行调用adb:adb devices。你看到了什么 ? – 2011-12-15 22:12:27

+0

我在Windows 7 64位上。我已经做到了,我的模拟器会出现。也尝试在启动eclipse之前启动模拟器。我只卸载了一切,现在它可以工作。 – 8oh8 2011-12-17 23:37:10

回答

2

自从Android工具15以来,我最近遇到了这个问题。我发现的解决方法是在启动eclipse之前对模拟器进行lanch处理。然后它似乎工作正常。

0

根据android源码,os将会无限循环地旋转和旋转,直到调试器空闲时间足够长为止。您可以通过按暂停调试按钮强制调试器处于空闲状态,等待1.5秒并按下继续。之后,应该附上调试器。

/* 
    * There is no "ready to go" signal from the debugger, and we're 
    * not allowed to suspend ourselves -- the debugger expects us to 
    * be running happily, and gets confused if we aren't. We need to 
    * allow the debugger a chance to set breakpoints before we start 
    * running again. 
    * 
    * Sit and spin until the debugger has been idle for a short while. 
    */ 
    while (true) { 
     long delta = VMDebug.lastDebuggerActivity(); 
     if (delta < 0) { 
      System.out.println("debugger detached?"); 
      break; 
     } 

     if (delta < MIN_DEBUGGER_IDLE) { 
      System.out.println("waiting for debugger to settle..."); 
      try { Thread.sleep(SPIN_DELAY); } 
      catch (InterruptedException ie) {} 
     } else { 
      System.out.println("debugger has settled (" + delta + ")"); 
      break; 
     } 
    }  
0

请确保您的线程窗格不显示。正如@arcadoss所说,调试器需要在一段时间内处于空闲状态,并且线程窗格会不断刷新其视图中的线程。

相关问题