win10 x64中 windbg x64 安裝配置符號庫


根據系統安裝好x64版本,我的系統是win10 x64 ;

windbg下載地址 https://developer.microsoft.com/zh-cn/windows/hardware/download-windbg

符號程序包下載地址中文 https://developer.microsoft.com/zh-cn/windows/hardware/download-symbols

符號程序包不是隨便下載的,是根據當前的系統版本下載的: 查詢你的系統初安裝時選擇的版本,

打開cmd,都不用繼續查詢版本的命令,在第一行 就是版本號.像一下,我的系統是10.0.10240.

 

 打開上邊下載頁面,選擇符號這個版本的符號庫

點開下載的時候才能看到,最開始安裝的時候選擇錯了.在此一定要注意了.

接下來配置windbg 環境:

windbg訪問符號需要兩個文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主path環境變量中它們的路徑進去,即:你的windbg安裝目錄.
操作方法:在桌面我的電腦點右鍵--屬性--高級--環境變量,在系統變量列表框中找到path雙擊,在變量值最后面加一個分號再把你的安裝目錄寫上.點確定. 這一步是告訴windbg那兩個文件放在什么地方.

這里要設置正確了,要不在運行時會提示找不到此文件, 

 

 

上邊這個是后來改 的,因為我發現在windbg 時,每次提示找不到地址,還需要在windbg里的符號庫地址配置里邊手動添加一下地址,才會成功

比如 SRV*C:\symbols* http://msdl.microsoft.com/download/symbols  這一步的意思是說告訴windbg,先從C:\symbols中找尋符號文件,若沒有再從://msdl.microsoft.com/download/symbols下載符號文件在本地c:\symbols中.

補充添加關於符號路徑的解釋:

2.3 符號路徑
什么是符號路徑呢?就是調試器尋找符號文件的方向,它可以是本地文件夾路徑、可訪問的UNC路徑、或者是符號服務器路徑。什么是符號服務器呢?如果調試過程中,需要涉及到成千上萬個符號文件,以及同一個符號文件存在不同平台下的不同符號文件版本的時候,那么一一手動設置符號路徑肯定是不現實的,於是引入符號服務器的概念。符號服務器有一套命名規則,使得調試軟件能夠正確找到需要的符號文件。一般來說,符號服務器比較大,都是共用的,放在遠程主機上。為了降低網絡訪問的成本,又引入了符號緩存的概念,即將從服務器上下載到的符號文件,保存在本地緩存中,以后調試器需要符號文件的時候,先從緩存中尋找,找不到的時候再到服務器上下載。

 

符號服務器與符號緩存:

設置符號服務器的基本語法是:

SRV*[符號緩存]*服務器地址
語法由SRV引導,符號緩存和服務器地址的前面各有一個星號引導。符號緩存一般也叫做下游符號庫。如某公司有一台專門的符號服務器,地址為\\symsrv\\symbols,則他們公司的所有開發人員都應該在他們的調試器中使用類似下面的命令:

.sympath+ srv*c:\symbols*\\symsrv\symbols
此外,我們總是應該把微軟的公用符號庫加入到我們的符號路徑中:

.sympath+ srv*<緩存地址>*http://msdl.microsoft.com/download/symbols
這是一台微軟對外公開的服務器,使用http地址訪問,不是所有人都能牢記這個網址,所以最好的辦法就是使用.symfix命令,語法如下:

.symfix [+] [符號緩存地址]

 具體解釋查看此鏈接上的文章http://www.yiiyee.cn/Blog/windbg/

現在可以執行File>Attach to a Process...附加進程,開始使用WinDbg調試了。還需要注意的是,你的軟件是net 4.0 要選擇 4.0相應的sos.dll 因為windbg 是需要這個文件 的.若出現問題要考慮一下是不是這里邊沒設置好

where sos.dll 

當時我想我的項目是默認是4.5以上的,還檢查了這方面的問題.

總之windbg 的環境搭建需要多看看,小有麻煩

我的就是通過以上方法搭建成功

沒有找不到路徑的錯誤了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM