Share via


PDBCopy Command-Line 選項

PDBCopy 命令列使用下列語法。 參數可以依任何順序包含。

pdbcopy OldPDB NewPDB [Options] 

pdbcopy OldPDB NewPDB -p [-f:Symbol] [-f:@TextFile] [Options] 

pdbcopy OldPDB NewPDB -p [-F:Symbol] [-F:@TextFile] [Options] 

pdbcopy InputPDB BackupPDB -CVE-2018-1037 [autofix|verbose]

pdbcopy /? 

參數

OldPDB
指定要讀取之原始符號檔的路徑和檔案名,包括 .pdb 副檔名。 OldPDB 可能包含本機電腦上目錄的絕對或相對路徑,或 UNC 路徑。 如果未指定路徑,則會使用目前的工作目錄。 如果 OldPDB 包含空格,則必須以引號括住。

NewPDB
指定要建立之新符號檔的路徑和檔案名,包括 .pdb 副檔名。 NewPDB 可能包含本機電腦上目錄的絕對或相對路徑,或 UNC 路徑。 此路徑必須已經存在;PDBCopy 不會建立新的目錄。 如果未指定路徑,則會使用目前的工作目錄。 如果 NewPDB 包含空格,您必須以引號括住它。 指定的檔案不應該已經存在;如果這樣做,則可能不會寫入新檔案,或寫入不正確。

-P
導致 PDBCopy 從新的符號檔中移除私人符號資料。 如果舊符號檔不包含私人符號,則此選項沒有任何作用。 如果省略此選項,PDBCopy 會建立與原始檔案相同的符號內容的新檔案。

-f:Symbol
讓 PDBCopy 從新的符號檔中移除指定的公用符號。 符號 必須指定要移除的符號名稱,包括任何符號名稱裝飾 (例如,初始底線) ,但不包含模組名稱。 此選項需要 -p 選項。 如果您使用多個 -f-f:@ 參數,PDBCopy 會從新的符號檔中移除所有指定的符號。

-f:@TextFile
讓 PDBCopy 從新的符號檔中移除指定文字檔中列出的公用符號。 TextFile 會指定此檔案的絕對或相對) 檔案名和路徑 (。 此檔案可以列出任意數目的符號名稱,每一行各有一個符號,包括任何符號名稱裝飾 (例如初始底線) ,但不包含模組名稱。 此選項需要 -p 選項。

-F:Symbol
導致 PDBCopy 從新的符號檔中移除所有公用和私用符號,但指定的公用符號除外。 符號 必須指定要保留的符號名稱,包括任何符號名稱裝飾 (,例如初始底線) ,但不包含模組名稱。 此選項需要 -p 選項。 如果使用多個 -F-F:@ 參數,則所有指定的符號都會保留在新的符號檔中。

-F:@TextFile
導致 PDBCopy 從新的符號檔中移除所有公用和私用符號,但指定的文字檔中所列的公用符號除外。 TextFile 會指定此檔案的絕對或相對) 檔案名和路徑 (。 此檔案可以列出任意數目的符號名稱,每一行各有一個符號,包括任何符號名稱裝飾 (例如初始底線) ,但不包含模組名稱。 此選項需要 -p 選項。

選項 下列選項的任何組合。 這些選項會區分大小寫。

-s
讓新的符號檔具有與舊檔案不同的簽章。 通常您不應該使用 -s 選項,因為新的簽章可能會導致 SymSrv 將不同的索引值指派給新檔案,而不是指派給舊檔案,以防止新檔案正確取代舊的檔案。

-vc6
讓 PDBCopy 使用 mspdb60.dll,而不是使用 mspdb80.dll。 絕對不需要這個選項,因為 PDBCopy 會自動尋找適當的 mspdb*.dll 版本。 根據預設,PDBCopy 會使用 mspdb80.dll,這是 Visual Studio .NET 2002 和更新版本的 Visual Studio 所使用的版本。 如果您的符號是使用 Visual Studio 6.0 或舊版所建置,您可以指定這個命令列選項,讓 PDBCopy 改用 mspdb60.dll。 不過,這並非必要專案,因為即使未使用此選項,PDBCopy 仍會尋找適當的檔案。 無論您使用的 mspdb*.dll 版本都必須位於啟動 PDBCopy 的 [命令提示字元] 視窗可執行檔路徑中。

-CVE-2018-1037

報告 InputPDBFile 是否有 CVE-2018-1037 中所述的問題,並選擇性地補救問題。 如需詳細資訊和詳細的使用資訊,請參閱 KB# 4131751 - PDBCopy 工具

-?
顯示 PDBCopy 命令列的解說文字。

其他資訊

如需 PDBCopy 工具的詳細資訊,請參閱 使用 PDBCopy