共用方式為


重新附加至目標應用程式

如果調試程式在執行使用者模式偵錯時凍結或停止回應(也就是 當機),您可以將新的調試程式附加至現有的進程。

注意 此方法僅支援Microsoft Windows XP 和更新版本的 Windows。 這個方法不取決於調試程式最初建立進程或附加至現有進程。 此方法不取決於您是否使用 -pd 選項。

若要將除錯程式重新附加至現有的目標應用程式,請執行下列動作:

  1. 決定目標應用程式的進程標識碼

  2. 啟動CDB或 WinDbg 的新實例。 使用 -pe 命令行選項。

    Debugger -pe -p PID 
    

    您也可以使用其他 命令行選項

    您也可以使用 .attach (附加至程序) 命令搭配 -e 選項,從休眠狀態的調試器連線。

  3. 附加完成之後,結束原始調試程序進程。

  4. 如果程式未正常回應,則其暫停計數可能太高。 您可以使用 ~m (繼續線程) 命令來減少暫停計數。 如需暫停計數的詳細資訊,請參閱 控制進程和線程

如果原始調試程式仍然正常運作,這個方法可能無法運作。 這兩個調試程式正在競爭偵錯事件,而 Windows作系統不一定將所有偵錯事件指派給新的調試程式。

如果在附加新調試程式之前結束原始調試程式,則目標應用程式也會關閉。 不過,如果附加了 -pd 選項的調試程式,然後正常結束,則目標應用程式會繼續執行。在此情況下,第二個調試程式可以附加至目標應用程式,而不需使用 -pe 選項。

如果您已經在偵錯某個程序,並且想要從該程序分離卻讓它保持在偵錯狀態中,您可以使用 .abandon (放棄程序) 命令。 在此命令之後,任何 Windows 偵錯工具都可以使用本主題中所述的步驟,重新附加至處理程序。