共用方式為


在沒有符號的情況下偵錯 User-Mode 進程

啟動使用者模式失敗的偵錯工具之前,請務必在錯誤電腦上具有符號。 不過,偵錯工具有時會在沒有符號的情況下啟動。 如果問題很容易重現,您可以只複製符號並重新執行。 不過,如果問題可能不會再次發生,某些資訊仍可從失敗中擷取:

  1. 若要找出位址的意義,您需要符合錯誤的電腦。 它應該具有相同的平臺 (x86 或 x64) ,並以相同的 Windows 版本載入。

  2. 當您設定電腦時,請將要偵錯的使用者模式符號和二進位檔複製到新電腦上。

  3. 在無符號電腦上啟動 CDB 或 WinDbg。

  4. 如果您不知道哪些應用程式在無符號電腦上失敗,請發出 | (進程狀態) 命令。 如果未提供您名稱,請在無符號電腦上分成 KD,然後執行 !process 0 0,尋找 CDB 命令所提供的進程識別碼。

  5. 當您設定兩個偵錯工具時-- 一個具有未達到錯誤的符號,另一個沒有符號,但沒有符號,則發出 k (Display Stack Backtrace) 命令。

  6. 在具有符號的電腦上,針對無符號堆疊上提供的每個位址發出 u (Unassemble) 命令。 這可讓您在無符號電腦上追蹤錯誤。

  7. 藉由查看堆疊追蹤,您可以看到呼叫中涉及的模組和函式名稱。