共用方式為


Symbol Options

有許多選項可用來控制符號的載入和使用方式。 這些選項可以透過多種方式設定。

下表列出這些符號選項:

Flag Option Name 偵錯工具中的預設值 胸徑預設值

0x1

SYMOPT_CASE_INSENSITIVE

On

On

0x2

SYMOPT_UNDNAME

On

On

0x4

SYMOPT_DEFERRED_LOADS

On

Off

0x8

SYMOPT_NO_CPP

Off

Off

0x10

SYMOPT_LOAD_LINES

在 KD 和 CDB 中關閉

在 WinDbg 中開啟

On

0x20

SYMOPT_OMAP_FIND_NEAREST

On

Off

0x40

SYMOPT_LOAD_ANYTHING

Off

Off

0x80

SYMOPT_IGNORE_CVREC

Off

Off

0x100

SYMOPT_NO_UNQUALIFIED_LOADS

Off

Off

0x200

SYMOPT_FAIL_CRITICAL_ERRORS

On

Off

0x400

SYMOPT_EXACT_SYMBOLS

Off

On

0x800

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

Off

On

0x1000

SYMOPT_IGNORE_NT_SYMPATH

Off

Off

0x2000

SYMOPT_INCLUDE_32BIT_MODULES

Off

Off

0x4000

SYMOPT_PUBLICS_ONLY

Off

Off

0x8000

SYMOPT_NO_PUBLICS

Off

Off

0x10000

SYMOPT_AUTO_PUBLICS

On

On

0x20000

SYMOPT_NO_IMAGE_SEARCH

On

Off

0x40000

SYMOPT_SECURE

Off

Off

0x80000

SYMOPT_NO_PROMPTS

在 KD 和 CDB 中開啟

在 WinDbg 中關閉

Off

0x80000000

SYMOPT_DEBUG

Off

Off

變更符號選項設定

.symopt (設定符號選項) 指令可用來變更或顯示符號選項設定。 In addition, a number of command-line parameters and commands are available to change these settings; these are listed in the individual SYMOPT_XXX sections.

You can also control all the settings at once with the -sflagscommand-line option. This option can be followed with a decimal number, or with a hexadecimal number prefixed by 0x. 建議您使用十六進位,因為符號旗標會以這種方式正確對齊。 使用此方法時請小心,因為它會設定整個位欄位,並覆寫所有符號處理常式預設值。 For example, -sflags 0x401 will not only turn on SYMOPT_EXACT_SYMBOLS and SYMOPT_CASE_INSENSITIVE, but will also turn off all the other options that normally are on by default!

當這些程式在沒有任何符號相關命令列選項的情況下啟動這些程式時,旗標位總數的預設值會0x30237在 WinDbg 中,0xB0227在 CDB 和 KD 中,並在 DBH 工具中0x10C13。

SYMOPT_CASE_INSENSITIVE

此符號選項會導致所有符號名稱搜尋不區分大小寫。

此選項預設會在所有偵錯工具中開啟。 Once the debugger is running, it can be turned on or off by using .symopt+0x1 or .symopt-0x1, respectively.

此選項在胸徑中預設為開啟。 DBH 執行之後,可以分別使用 symopt +1 或 symopt -1 來開啟或關閉它。

SYMOPT_UNDNAME

此符號選項會導致公用符號名稱在顯示時未裝飾,並導致搜尋符號名稱忽略符號裝飾。 無論此選項是否處於作用中狀態,都不會裝飾專用符號名稱。 如需符號名稱裝飾的相關資訊,請參閱 公用和私人符號

此選項預設會在所有偵錯工具中開啟。 Once the debugger is running, it can be turned on or off by using .symopt+0x2 or .symopt-0x2, respectively.

此選項在胸徑中預設為開啟。 如果使用 -d 命令列選項,則會關閉它。 DBH 執行之後,可以分別使用 symopt +2 或 symopt -2 來開啟或關閉它。

SYMOPT_DEFERRED_LOADS

此符號選項稱為延遲 符號載入延遲符號載入。 當它處於作用中狀態時,當載入目標模組時,實際上不會載入符號。 相反地,偵錯工具會視需要載入符號。 如需詳細資訊,請參閱延遲 符號載入

此選項預設會在所有偵錯工具中開啟。 在 CDB 和 KD 中,-s 命令列選項會關閉此選項。 It can also be turned off in CDB by using the LazyLoad variable in the tools.ini file. Once the debugger is running, this option can be turned on or off by using .symopt+0x4 or .symopt-0x4, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +4 或 symopt -4 來開啟或關閉它。

SYMOPT_NO_CPP

此符號選項會關閉 C++ 翻譯。 When this symbol option is set, :: is replaced by __ in all symbols.

此選項預設會在所有偵錯工具中關閉。 可以使用 -snc 命令列選項來啟動它。 Once the debugger is running, it can be turned on or off by using .symopt+0x8 or .symopt-0x8, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +8 或 symopt -8 來開啟或關閉它。

SYMOPT_LOAD_LINES

此符號選項允許從來源檔案讀取行號資訊。 此選項必須開啟,來源偵錯才能正常運作。

在 KD 和 CDB 中,此選項預設為關閉;在 WinDbg 中,此選項預設為開啟。 在 CDB 和 KD 中,-lines 命令列選項會開啟此選項。 Once the debugger is running, it can be turned on or off by using .symopt+0x10 or .symopt-0x10, respectively. 也可以使用 .lines(切換源行支持) 命令來打開和關閉它。

此選項在胸徑中預設為開啟。 DBH 執行之後,可以分別使用 symopt +10 或 symopt -10 來開啟或關閉它。

SYMOPT_OMAP_FIND_NEAREST

當程式碼已最佳化,且預期位置沒有符號時,此選項會導致改用最接近的符號。

此選項預設會在所有偵錯工具中開啟。 Once the debugger is running, it can be turned on or off by using .symopt+0x20 or .symopt-0x20, respectively.

此選項在胸徑中預設為開啟。 DBH 執行之後,可以分別使用 symopt +20 或 symopt -20 來開啟或關閉它。

SYMOPT_LOAD_ANYTHING

此符號選項可減少符號處理常式在嘗試比對符號時的挑剔性。

此選項預設會在所有偵錯工具中關閉。 Once the debugger is running, it can be turned on or off by using .symopt+0x40 or .symopt-0x40, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +40 或 symopt -40 來開啟或關閉它。

SYMOPT_IGNORE_CVREC

此符號選項會導致符號處理常式在搜尋符號時忽略載入影像標頭中的 CV 記錄。

此選項預設會在所有偵錯工具中關閉。 可以使用 -sicv 命令列選項來啟動它。 Once the debugger is running, it can be turned on or off by using .symopt+0x80 or .symopt-0x80, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +80 或 symopt -80 來開啟或關閉它。

SYMOPT_NO_UNQUALIFIED_LOADS

此符號選項會停用符號處理常式的模組自動載入。 設定此選項,且偵錯工具嘗試比對符號時,它只會搜尋已載入的模組。

此選項可用來防止輸入錯誤的符號名稱。 一般而言,輸入錯誤的符號會導致偵錯工具在搜尋所有卸載的符號檔案時暫停。 當此選項處於作用中狀態時,在載入的模組中將找不到輸入錯誤的符號,然後搜尋將終止。

此選項預設會在所有偵錯工具中關閉。 可以使用 -snul 命令列選項來啟動它。 Once the debugger is running, it can be turned on or off by using .symopt+0x100 or .symopt-0x100, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +100 或 symopt -100 來開啟或關閉它。

SYMOPT_FAIL_CRITICAL_ERRORS

此符號選項會導致隱藏檔案存取錯誤對話方塊。

如果關閉此選項,則在符號載入期間遇到檔案存取錯誤,例如「磁碟機未就緒」,將導致對話方塊出現。 如果此選項開啟,則會隱藏這些方塊,且所有存取錯誤都會收到「失敗」回應。

此選項預設會在所有偵錯工具中開啟。 您可以使用 -sdce 命令列選項來停用它。 Once the debugger is running, it can be turned on or off by using .symopt+0x200 or .symopt-0x200, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +200 或 symopt -200 來開啟或關閉它。

SYMOPT_EXACT_SYMBOLS

此符號選項會導致偵錯工具對所有符號檔執行嚴格的評估。

開啟此選項時,即使符號檔與符號處理常式的預期之間有最輕微的差異,也會導致忽略符號。

此選項預設會在所有偵錯工具中關閉。 可以使用 -ses 命令列選項來啟動它。 Once the debugger is running, it can be turned on or off by using .symopt+0x400 or .symopt-0x400, respectively.

-failinc 命令列選項也會開啟SYMOPT_EXACT_SYMBOLS。 此外,如果您要偵錯使用者模式迷你傾印或核心模式迷你傾印,-failinc 會防止偵錯工具載入任何無法對應其映像的模組。

此選項在胸徑中預設為開啟。 DBH 執行之後,可以分別使用 symopt +400 或 symopt -400 來開啟或關閉它。

SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

這個符號選項可讓 DbgHelp 讀取儲存在記憶體中絕對位址的符號。 在絕大多數情況下不需要此選項。

此選項預設會在所有偵錯工具中關閉。 Once the debugger is running, it can be turned on or off by using .symopt+0x800 or .symopt-0x800, respectively.

此選項在胸徑中預設為開啟。 DBH 執行之後,可以分別使用 symopt +800 或 symopt -800 來開啟或關閉它。

SYMOPT_IGNORE_NT_SYMPATH

此符號選項會導致偵錯工具忽略符號路徑和可執行映像路徑的環境變數設定。

此選項預設會在所有偵錯工具中關閉。 可以使用 -sins 命令列選項來啟動它。 However, it cannot be controlled by .symopt once the debugger is running, because the environment variables are only read at startup.

此選項在 DBH 中預設為關閉,並且在所有情況下都會被 DBH 忽略。

SYMOPT_PUBLICS_ONLY

此符號選項會導致 DbgHelp 忽略私人符號數據,並只搜尋公用符號數據表以取得符號資訊。 這會在新增這些類型的支援之前模擬 DbgHelp 的行為。 請參閱 公共和私人符號

此選項預設會在所有偵錯工具中關閉。 Once the debugger is running, it can be turned on or off by using .symopt+0x4000 or .symopt-0x4000, respectively.

此選項在胸徑中預設為關閉。 如果使用 -d 命令列選項,則會開啟。 DBH 執行之後,可以分別使用 symopt +4000 或 symopt -4000 來開啟或關閉它。

SYMOPT_NO_PUBLICS

這個符號選項可防止 DbgHelp 搜尋公用符號數據表。 這可以使符號列舉和符號搜尋更快。 如果您只關心搜尋速度,SYMOPT_AUTO_PUBLICS選項通常比此選項更可取。 如需公用符號表格的相關資訊,請參閱 公用和專用符號

此選項預設會在所有偵錯工具中關閉。 Once the debugger is running, it can be turned on or off by using .symopt+0x8000 or .symopt-0x8000, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +8000 或 symopt -8000 來開啟或關閉它。

SYMOPT_AUTO_PUBLICS

此符號選項會導致 DbgHelp 僅作為最後的手段,搜尋 .pdb 檔案中的公用符號數據表。 如果在搜尋私有符號資料時找到任何相符項,則不會搜尋公用符號。 這提高了符號搜索速度。

此選項預設會在所有偵錯工具中開啟。 您可以使用 -sup 命令列選項來停用它。 Once the debugger is running, it can be turned on or off by using .symopt+0x10000 or .symopt-0x10000, respectively.

此選項在胸徑中預設為開啟。 如果使用 -d 命令列選項,則會關閉它。 DBH 執行之後,可以分別使用 symopt +10000 或 symopt -10000 來開啟或關閉它。

此符號選項可防止 DbgHelp 在載入符號時在磁碟中搜尋映像複本。

此選項預設會在所有偵錯工具中開啟。 Once the debugger is running, it can be turned on or off by using .symopt+0x20000 or .symopt-0x20000, respectively.

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +20000 或 symopt -20000 來開啟或關閉它。

SYMOPT_SECURE

(Kernel mode only) This symbol option indicates whether Secure Mode is active.

安全模式預設會在所有偵錯工具中關閉。 可以使用 -secure 命令列選項來啟動它。 If the debugger is running, is in dormant mode, and has not established any Debugging Servers, Secure Mode can be turned on by using .symopt+0x40000 or .secure (Activate Secure Mode).

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +40000 或 symopt -40000 來開啟或關閉它。

安全模式一旦啟動就永遠無法關閉。

SYMOPT_NO_PROMPTS

此符號選項會隱藏來自 Proxy 伺服器的驗證對話框。 這可能會導致 SymSrv 無法存取因特網上的符號存放區。

如需詳細資訊,請參閱 防火牆和 Proxy 伺服器

在 KD 和 CDB 中,此選項預設為開啟;在 WinDbg 中,此選項預設為關閉。 Once the debugger is running, it can be turned on or off by using .symopt+0x80000 or .symopt-0x80000, respectively, followed by the .reload (Reload Module) command. 您也可以使用 !sym 提示關閉!sym prompts 擴充功能命令來開啟和關閉,後面接著 .reload (Reload Module) 命令。

此選項在胸徑中預設為關閉。 DBH 執行之後,可以分別使用 symopt +80000 或 symopt -80000 來開啟或關閉它。

-SYMOPT_DEBUG

此符號選項會開啟 雜訊符號載入。 這會指示偵錯工具顯示其搜尋符號的相關資訊。

每個符號檔案的名稱將在載入時顯示。 如果偵錯工具無法載入符號檔,它會顯示錯誤訊息。 .pdb 檔案的錯誤訊息將以文字形式顯示。 .dbg 檔案的錯誤訊息會採用錯誤碼的形式;這些代碼在 WinError.h 文件中進行了說明。

如果載入影像檔案只是為了復原符號標頭資訊,也會顯示此資訊。

此選項預設會在所有偵錯工具中關閉。 可以使用 -n 命令列選項來啟動它。 Once the debugger is running, it can be turned on or off by using .symopt+0x80000000 or .symopt-0x80000000, respectively. It can also be turned on and off by using the !sym noisy and !sym quiet extension commands.

Note This option should not be confused with noisy source loading -- that is controlled by the .srcnoisy (Noisy Source Loading) command.

此選項在胸徑中預設為關閉。 可以使用 -n 命令列選項來啟動它。 DBH 執行之後,可以分別使用 symopt +80000000 或 symopt -800000000 來開啟或關閉它。 也可以使用詳細開啟和詳細關閉命令來開啟和關閉它。