其他符號伺服器 DLL
如果您想要針對符號搜尋使用不同的方法,您可以提供自己的符號伺服器 DLL,而不是使用 SymSrv。
設定符號路徑
實作 SymSrv 以外的符號伺服器時,偵錯工具的符號路徑設定方式與 SymSrv 相同。 如需符號路徑語法的說明,請參閱 Microsoft 公用符號 和 進階符號使用 。 唯一需要進行的變更是將字串 symsrv.dll 取代為您自己的符號伺服器 DLL 名稱。
如有需要,您可以在參數內自由使用不同的語法,以指出使用不同的技術,例如 UNC 路徑、SQL 資料庫識別碼或網際網路規格。
實作您自己的符號伺服器
其中一種方法是使用與 DbgHelp 通訊的程式碼來尋找符號。 每次 DbgHelp 需要新載入模組的符號時,都會呼叫符號伺服器來找出適當的符號檔。 符號伺服器會根據時間戳記或影像大小等唯一參數找出每個檔案。 伺服器會傳回所要求檔案的已驗證路徑。
您不得變更符號伺服器所傳回的實際符號檔名稱。 DbgHelp 會將符號檔的名稱儲存在多個位置。 因此,伺服器必須傳回與要求符號時所指定名稱相同的檔案。 需要這項限制,以確保符號載入期間顯示的符號名稱是程式設計人員將辨識的符號名稱。
多個符號伺服器上的限制
DbgHelp 支援一次只使用一個符號伺服器。 您的符號路徑可以包含相同符號伺服器 DLL 的多個實例,但不能包含兩個不同的符號伺服器 DLL。 這不是太多限制,因為您仍然可以在符號路徑中包含多個符號伺服器的實例,每個實例都指向不同的符號存放區。 但是,如果您想要在兩個不同的符號伺服器 DLL 之間切換,則每次都必須變更符號路徑。
安裝自訂符號伺服器 DLL
符號伺服器安裝的詳細資料取決於您的情況。 您可能想要設定安裝程式來複製符號伺服器 DLL,並自動設定_NT_SYMBOL_PATH環境變數。
視伺服器中使用的技術而定,您可能也需要安裝或存取符號資料本身。
可攜式 PDB (程式資料庫)
可攜式 PDB (程式資料庫) 格式描述 Common Language Infrastructure (CLI 編譯器所產生之偵錯資訊的編碼方式,) 語言,以及偵錯工具和其他工具所取用。 格式是以 ECMA-335 資料分割 II 中繼資料標準為基礎。 它支援在不同作業系統和平臺上的作業。 如需詳細資訊,請參閱 可攜式 PDB 符號。
自訂符號存放區和符號伺服器
如需建立自訂符號伺服器的詳細資訊,請參閱 自訂符號存放區和符號伺服器。