Skip to content
九月 7, 2009 / wychi

建立Symbol/Source Server

Reference:

Source Server Helps You Kill Bugs Dead In Visual Studio 2005

Symbol server / Source server的功用及好處,在這裡就不多提,

想要建立symbol / source server麻煩的地方在於瑣碎, 有太多的設定要調整 (不過,絕對是值得的…)

簡單來說, 你需要

  1. 調整所有VS project 的設定, 讓complier 幫你產生PDB files.
  2. 寫post-build script 將PDB files 複製到指定目錄
  3. 安裝Debugging Tools for Windows, 並修改 %WinDBG%\srcsrv\SRCSRV.INI
  4. 執行 %WinDBG%\srcsrv\p4Index.cmd, 將source code info塞入PDB
  5. 執行 %WinDBG%\srcsrv\symstore , 將PDB 打包

第1點, 目前還沒什麼輕鬆的方法來做,

第2點的話,,可以透過暴力搜尋 或是 用DumpBin.exe反查 DLL中的pdbpath

以下是我使用的Powershell script.

Get-ChildItem d:\p4_mm\main\exe *.dll | %{ &"D:\DumpPDB\dumpbin.exe" /pdbpath $_.FullName | Select-String “PDB"} | %{ $_.Line.substring(21, $_.Line.Length-22)} | % { cp $_ d:\p4_mm\main\pdb }

第3點,

當連上p4 server後, server address可以透過 p4 info 來取得

D:\DumpPDB>p4 info
User name: wchi
Client name: test01
Client host: tpe-wychi
Client root: D:\p4_mm
Current directory: d:\DumpPDB
Client address: 192.168.12.15:2232
Server address: localhost:1960
Server root: D:\Perforce\
Server date: 2009/09/09 11:38:05 +0800 Taipei Standard Time
Server version: P4D/NTX64/2007.3/143793 (2008/01/21)
Proxy version: P4P/NTX86/2007.3/140107 (2007/11/20)
Server license: XXXXXXXX

第4點,

這裡有些注意事項, 在使用多台p4 server時, 需要明確設定環境變數來讓p4Index.cmd順利執行

%WINDBGDIR%\srcsrv\p4index.cmd -source=%APROOT% -symbols=%APROOT%\pdb -debug

第5點,

沒什麼特別的

set DEBUGSERVER="d:\SymbolServer"

%WINDBGDIR%\symstore.exe add /r /f %APROOT%\pdb /s %DEBUGSERVER%\SdkSymbol /t “TEST1″ /v %LOGID% /compress /d symstore.log

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: