2011-12-15 53 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所說,調試器需要在一段時間內處於空閒狀態,並且線程窗格會不斷刷新其視圖中的線程。

相關問題