SymChk Command-Line 選項
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
顯示詳細資訊資訊。 這包括調查符號的每個程式檔的檔案名,以及它是否已通過、失敗或被忽略。
/問
啟用無訊息模式。 除非 ) 包含 /ot 選項,否則所有輸出都會隱藏 (。
檔案名
指定要檢查其符號的程式檔案。 允許絕對路徑、相對路徑和 UNC 路徑。 允許星號 (*) 萬用字元。 如果 *FileNames 以斜線結尾,則會被視為目錄名稱,而且會檢查該目錄中的所有檔案。 如果 FileNames 包含空格,則必須以引號括住。
/ieExeFile
指定目前正在執行的程式名稱。 將會檢查此程式的符號。 ExeFile 必須包含檔案和副檔名的名稱, (通常 .exe) ,但沒有路徑資訊。 如果有兩個不同的可執行檔具有相同名稱,則不建議使用此選項。 ExeFile 可以指定任何程式,包括核心模式驅動程式。 如果 ExeFile 是單一星號 (*) ,SymChk 將會檢查所有執行中進程的符號,包括驅動程式。
/idDumpFile
指定記憶體傾印檔案。 將會檢查此傾印檔案的符號。
/ihHotFixFile
指定自我解壓縮 Hotfix CAB 檔案。
/ipProcessID
指定目前正在執行之程式的進程識別碼。 將會檢查此程式的符號。 ProcessID 必須指定為十進位數。 支援兩個特殊萬用字元:
如果 ProcessID 為零 ( 0 ) ,SymChk 將會檢查所有執行中驅動程式的符號。
如果 ProcessID 是單一星號 () * ,SymChk 將會檢查所有執行中進程的符號,包括驅動程式。
/itTextFileList
指定包含程式檔清單的文字檔。 將會檢查所有這些程式的符號。 TextFileList 必須以相對、絕對或 UNC 路徑指定一個檔案 (,但沒有萬用字元) ;如果包含空格,則應該以引號括住。 在此檔案中,每一行都會以相對、絕對或 UNC 路徑) 來指出程式檔 (,而且允許) (星號萬用字元 * 。 不過,使用此萬用字元的任何行都必須使用相對路徑。
如果這個檔案中的一行包含空格,它應該以引號括住。 此檔案中的分號是批註字元 -- 將會忽略分號與行尾之間的一切。
/imManifestList
指定命令的輸入是先前使用 /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 會個別檢查每個路徑,而不是一次檢查所有路徑。
美國
下游存放區將會更新。 如果符號路徑包含下游存放區,則會搜尋符號存放區中的符號檔。 只會更新 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 |
二進位檔的完整路徑將會包含在所有輸出訊息中。 |
/作業系統 |
符號的完整路徑將會包含在所有輸出訊息中。 |
/ocDir |
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。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應