跳到主要內容

設定偵錯工具中的符號伺服器

偵錯符號讓您能有更好的偵錯階段作業。它們包含關於可執行檔和動態連結程式庫中所含函數的資訊,並提供您資訊以取得清晰的呼叫堆疊。符號伺服器讓偵錯工具能自動載入正確的符號、二進位檔和來源,而無需強迫使用者下載大型偵錯檔案。此伺服器的功能類似於Microsoft 的符號伺服器,因此該處的文件可能很有用。

請注意,由於發行的 Electron 版本經過大量最佳化,偵錯並不總是容易。偵錯工具將無法向您顯示所有變數的內容,且執行路徑可能看起來很奇怪,因為使用了內嵌、尾部呼叫和其他編譯器最佳化。唯一的解決方案是建置未最佳化的本機版本。

Electron 的官方符號伺服器 URL 為 https://symbols.electronjs.org。您無法直接造訪此 URL,您必須將其新增至偵錯工具的符號路徑。在以下範例中,使用本機快取目錄以避免從伺服器重複擷取 PDB。將 c:\code\symbols 替換為您機器上適當的快取目錄。

在 Windbg 中使用符號伺服器

Windbg 符號路徑是使用星號字元分隔的字串值來設定的。若要僅使用 Electron 符號伺服器,請將以下項目新增至您的符號路徑 (請注意:您可以將 c:\code\symbols 替換為您電腦上任何可寫入的目錄,如果您偏好不同的下載符號位置)

SRV*c:\code\symbols\*https://symbols.electronjs.org

將此字串設定為環境中的 _NT_SYMBOL_PATH,使用 Windbg 選單,或輸入 .sympath 命令。如果您也想從 Microsoft 的符號伺服器取得符號,您應該先列出它

SRV*c:\code\symbols\*https://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols\*https://symbols.electronjs.org

在 Visual Studio 中使用符號伺服器

Tools -> Options

Symbols Settings

疑難排解:符號無法載入

在 Windbg 中輸入以下命令以印出符號無法載入的原因

> !sym noisy
> .reload /f electron.exe