SymChk 命令行選項
SymChk 使用下列語法:
symchk [/r] [/v | /q ] FileNames /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /ie ExeFile /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /id DumpFile /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /ih HotFixFile /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /ip ProcessID /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /it TextFileList /s[Opts] SymbolPath Options
symchk [/r] [/v | /q ] /om Manifest FileNames
symchk [/v | /q ] /im ManifestList /s[Opts] SymbolPath Options
symchk [/v | /q ] /om Manifest /ie ExeFile
symchk [/v | /q ] /om Manifest /id DumpFile
symchk [/v | /q ] /om Manifest /ih HotFixFile
symchk [/v | /q ] /om Manifest /ip ProcessFile
symchk [/v | /q ] /om Manifest /it TextFileList
參數
/r
如果 Files 指定目錄, /r 選項會使 SymChk 以遞歸方式在此目錄下搜尋程式檔的所有子目錄。
/v
顯示詳細資訊資訊。 這包括每個程式檔的檔名,其符號經過調查,以及其是否通過、失敗或被忽略。
/q
啟用無訊息模式。 所有輸出都會隱藏(除非 包含 /ot 選項)。
檔名
指定要檢查其符號的程序檔案。 允許絕對路徑、相對路徑和 UNC 路徑。 允許星號 (*) 通配符。 如果 *FileNames 以斜線結束,則會將其視為目錄名稱,並檢查該目錄內的所有檔案。 如果 FileNames 包含空格,則必須以引弧括住。
/ie ExeFile
指定目前正在執行的程式名稱。 將會檢查此程序的符號。 ExeFile 必須包含檔案和擴展名的名稱(通常是.exe),但沒有路徑資訊。 如果具有相同名稱的兩個不同可執行檔,則不建議使用此選項。 ExeFile 可以指定任何程式,包括內核模式驅動程式。 如果 ExeFile 是單一星號 (*),SymChk 會檢查所有執行中進程的符號,包括驅動程式。
/id DumpFile
指定記憶體轉儲檔案。 將會檢查此傾印檔案的符號。
/ih HotFixFile
指定自我擷取 Hotfix CAB 檔案。
/ip ProcessID
指定目前正在執行之程式的進程識別碼。 將會檢查此程序的符號。 ProcessID 必須指定為十進位數。 支援兩個特殊通配符:
如果 ProcessID 為零 ( 0 ),SymChk 會檢查所有執行中驅動程式的符號。
如果 ProcessID 是單一星號 (*),SymChk 會檢查所有執行中進程的符號,包括驅動程式。
/它 TextFileList
指定包含程式檔清單的文字檔。 將會檢查所有這些程式的符號。 TextFileList 必須只指定一個檔案(依相對、絕對或 UNC 路徑,但沒有通配符):如果它包含空格,則應該以引號括住。 在這裡檔案中,每一行都會指出程式檔(依相對、絕對或 UNC 路徑),以及允許星號通配符 (*) 。 不過,使用此通配符的任何行都必須使用相對路徑。
如果這個檔案中的一行包含空格,它應該以引弧括住。 此檔案中的分號是批註字元--將會忽略分號與行尾之間的一切。
/我 ManifestList
指定命令的輸入是先前使用 /om 參數所建立的指令清單檔。 指令清單檔包含擷取符號之檔案的相關信息。 如需使用指令清單檔的詳細資訊,請參閱 搭配 SymChk 使用指令清單檔。
/om 清單
指定已建立指令清單檔。 指令清單檔包含一組檔案的相關信息,這些檔案稍後會使用 /im 參數來擷取符號。
/s[Opts] SymbolPath
指定包含符號的目錄。 允許絕對路徑、相對路徑和 UNC 路徑。 可以指定任意數目的目錄 -- 多個目錄應該以分號分隔。 如果 SymbolPath 包含空格,則必須以引弧括住。 如果您要在此路徑內指定符號伺服器,您應該使用下列其中一個語法:
srv*DownstreamStore*\\Server\Share
srv*\\Server\Share
不建議您省略 /s[Opts] SymbolPath 參數,但如果省略,SymChk 會使用下列預設路徑指向公用符號存放區:
srv*%SystemRoot%\symbols*https://msdl.microsoft.com/download/symbols
下列任何數目的選項都可以遵循 /s。 /s 與這些選項之間沒有空格:
e
SymChk 會個別檢查每個路徑,而不是一次檢查所有路徑。
u
下游存放區將會更新。 如果符號路徑包含下游存放區,符號存放區將會搜尋符號檔。 只會更新 SymChk 正在檢查的符號存放區。
p
強制檢查私人符號。 公用符號會被視為不相符。 p 選項表示 e 和 u,且不能與 s 搭配使用。
s
強制檢查公用(分割)符號。 私人符號會被視為不相符。 選項表示 e 和 u,不能與 p 搭配使用。
r
展開指定路徑中的所有非符號伺服器元素,以深入搜尋路徑。 注意:這個選項可能會產生不會在調試程式內發生的相符項目,因為它會修改指定的符號路徑。
選項 可用的選項分成數個類別。 每個選項類別都會控制一組不同的功能。
輸出選項。 您可以指定下列任何數目的選項。 這些選項只能使用 /o 縮寫一次 ,例如 ,/oi /oe 可以撰寫為 /oie。
選項 | 效果 |
---|---|
/oe |
輸出將包含個別錯誤。 只有在使用 /q 時,這個選項才有用,因為在未啟用無訊息模式時,會自動顯示個別錯誤。 |
/op |
輸出會列出每個通過的檔案。 (根據預設,SymChk 只會顯示測試失敗的檔案。 |
/oi |
輸出會列出已忽略的每個檔案。 (根據預設,SymChk 只會顯示測試失敗的檔案。 |
/od |
輸出將包含完整詳細數據。 與 /oe /op /oi 相同。 |
/ot |
輸出將包含結果總計。 只有在使用 /q 時,這個選項才有用,因為這些總計會在未啟用無訊息模式時自動顯示。 |
/ob |
二進位檔的完整路徑將會包含在所有輸出訊息中。 |
/作業系統 |
符號的完整路徑將會包含在所有輸出訊息中。 |
/oc Dir |
SymChk 會在目錄 Dir 中建立傳統符號樹狀結構,其中包含核取的所有符號檔清單。 |
/ov |
SymChk 也會列印已核取二進位檔的版本資訊。 |
/ol 檔案 |
除了傳送至標準輸出的訊息之外,還撰寫檔案,其中包含所有二進位檔的逗號分隔清單,以及傳遞符號檢查的符號。 |
DBG 檔案選項。 這些選項可控制 SymChk 檢查 .dbg 符號檔的方式。 只能指定下列其中一個選項。
選項 | 效果 |
---|---|
/ds |
SymChk 會確認 .dbg 資訊已從可執行檔中移除,而且只會出現在 .dbg 檔案中,而且可執行檔指向 .dbg 檔案。 如果程式在沒有 .dbg 符號檔的情況下建置,這個選項就沒有作用。 這是預設值。 |
/德 |
SymChk 會確認 .dbg 信息並未從可執行檔中移除,而且可執行檔不會指向 .dbg 檔案。 如果程式在沒有 .dbg 符號檔的情況下建置,這個選項就沒有作用。 |
/dn |
SymChk 會確認映射中沒有 .dbg 資訊,而且映射不會指向 .dbg 檔案。 |
PDB 檔案選項。 這些選項可控制 SymChk 檢查 .pdb 符號檔的方式。 只能指定下列其中一個選項。
選項 | 效果 |
---|---|
/pf |
SymChk 不會檢查 .pdb 檔案的內容,它只會驗證檔案是否存在並符合二進位檔。 這是預設值。 |
/ps |
SymChk 會確認 .pdb 檔案已移除來源行、數據類型和全域資訊。 |
/鉑 |
SymChk 會確認 .pdb 檔案包含數據類型資訊。 |
篩選選項。 這些選項可控制當 SymChk 正在檢查進程或傾印檔案時,模組篩選的執行方式。 只能指定下列其中一個選項。
選項 | 效果 |
---|---|
/fm 模組 |
SymChk 只會檢查與指定模組相關聯的傾印檔案或進程。 模組 必須包含完整檔名,但不得包含目錄路徑的任何部分。 |
符號檢查選項。 您可以指定下列任何數目的選項。
選項 | 效果 |
---|---|
/cs |
SymChk 不會驗證 CodeView 數據是否存在。 (根據預設,已驗證 CodeView 數據。 |
/cc |
當 SymChk 正在檢查 Hotfix CAB 檔案時,它不會在 cab 內尋找符號。 (根據預設,SymChk 會在 cab 中以及提供的符號路徑中尋找符號。 |
/ea 檔案 |
SymChk 不會驗證指定檔案中所列程式的符號。 這可讓您否決其他驗證的特定程式。 檔案 必須指定一個檔案(依相對、絕對或 UNC 路徑,但不含通配符):如果檔案包含空格,則應該以引號括住。 在 [檔案] 中,每一行都會指出程序檔(依相對、絕對或 UNC 路徑):不允許使用通配符。 如果此檔案中的一行包含空格,則應該以引弧括住。 此檔案中的分號是批註字元--將會忽略分號與行尾之間的一切。 如果使用符號伺服器,這些程式的符號將不會複製到下游存放區。 |
/ee 檔案 |
隱藏指定檔案中所列程式的錯誤訊息。 「成功」和「忽略」訊息會像往常一樣出現,符號檔會像往常一樣複製到下游存放區。 File 的格式和其內容的格式與 /ea 檔案的格式相同。 |
其他資訊
如需 SymChk 的詳細資訊,請參閱 使用 SymChk。