Electron 在調(diào)試中使用 Symbol Server

2019-08-14 19:20 更新

調(diào)試 symbols 讓你有更好的調(diào)試 sessions. 它們有可執(zhí)行的動(dòng)態(tài)庫(kù)的函數(shù)信息,并且提供信息來獲得潔凈的呼叫棧. 一個(gè) Symbol 服務(wù)器允許調(diào)試器自動(dòng)加載正確的 symbols, 二進(jìn)制文件 和 資源文件,不用再去強(qiáng)制用戶下載巨大的調(diào)試文件. 服務(wù)器函數(shù)類似 Microsoft's symbol server ,所以這里的記錄可用.

注意,因?yàn)楣姲姹镜?Electron 構(gòu)建是最優(yōu)化的,調(diào)試不一定一直簡(jiǎn)單.調(diào)試器將不會(huì)給顯示出所有變量?jī)?nèi)容,并且因?yàn)閮?nèi)聯(lián),尾調(diào)用,和其它編譯器優(yōu)化,執(zhí)行路徑會(huì)看起來很怪異 . 唯一的解決辦法是搭建一個(gè)不優(yōu)化的本地構(gòu)建.

Electron 使用的官方 symbol 服務(wù)器地址為 http://54.249.141.255:8086/atom-shell/symbols . 你不能直接訪問這個(gè)路徑,必須將其添加到你的調(diào)試工具的 symbol 路徑上.在下面的例子中,使用了一個(gè)本地緩存目錄來避免重復(fù)從服務(wù)器獲取 PDB. 在你的電腦上使用一個(gè)恰當(dāng)?shù)木彺婺夸泚泶?span> c:\code\symbols .

Using the Symbol Server in Windbg

Windbg symbol 路徑被配制為一個(gè)限制帶星號(hào)字符的字符串. 要只使用 Electron 的 symbol 服務(wù)器, 將下列記錄添加到你的 symbol 路徑 (注意: 如果你愿意使用一個(gè)不同的地點(diǎn)來下載 symbols,你可以在你的電腦中使用任何可寫的目錄來代替 c:\code\symbols):

SRV*c:\code\symbols\*http://54.249.141.255:8086/atom-shell/symbols

使用 Windbg 菜單或通過輸入 .sympath 命令,在環(huán)境中設(shè)置一個(gè) _NT_SYMBOL_PATH 字符串.如果你也想從微軟的 symbol 服務(wù)器獲得 symbols ,你應(yīng)當(dāng)首先將它們先列出來 :

SRV*c:\code\symbols\*http://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols\*http://54.249.141.255:8086/atom-shell/symbols

在 Visual Studio 中使用 symbol 服務(wù)器

 

Troubleshooting: Symbols will not load

在 Windbg 中輸入下列命令,打印出未什么 symbols 沒有加載 :

> !sym noisy
> .reload /f chromiumcontent.dll
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)