目的
Visual Studio 在編譯后,能幫助我們生成符號文件(.pdb),無論是查看 dump,還是做性能分析時加載,都是必不可少的。
但編譯出的程序版本一多,維護和使用符號文件就成了個十分頭痛的問題。這時,我們需要搭建自己的符號服務器來解決這個問題。
搭建
安裝必備工具
Debugging Tools for Windows 官方下載地址
安裝后,把安裝目錄添加到環境變量PATH里,保證命令提示符(cmd.exe)上輸入symstore命令可以正常執行。
准備符號服務器
一個空的 windows 共享文件夾即可。空文件夾上點擊右鍵->選"屬性"->選"共享"頁簽進行設置即可。
比如,我的地址是 \\192.168.1.100\SymStore 。
上傳符號到符號符號服務器
保存 drop_bin_dir_to_me.zip 到本地並解壓縮
配置其中 drop_bin_dir_to_me.bat 的選項變量 SYMSTOREPATH 為你的符號服務器地址
把包含符號的文件夾拖到 drop_bin_dir_to_me.bat 上,完事
注意:bat腳本會自動清理過期的符號(目前暫定過期時間為2個月)
使用
按照下面方式配置好 Visual Studio 后,再后續查看 dump 堆棧、或者做性能分析加載符號,就不用四處找pdb。
以 Visual Studio 2017 為例做說明:
vs2017->工具->選項->調試->符號
添加自定義符號服務器"\\192.168.1.100\SymStore"

注意:如果你本地已有符號,會從本地而不會從符號服務器中查找。不會影響你的日常開發。
參考文檔
https://docs.microsoft.com/en-us/windows/win32/debug/using-symstore
symstore /?
