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
显示详细信息。 这包括已调查其符号的每个程序文件的文件名,以及它是传递、失败还是被忽略。

/问
启用安静模式。 除非) 包含 /ot 选项,否则所有输出都将被禁止 (。

文件名
指定要检查其符号的程序文件。 允许使用绝对路径、相对路径和 UNC 路径。 允许使用星号 (* 通配符) 。 如果 *FileNames 以斜杠结尾,则会将其设置为目录名称,并检查该目录中的所有文件。 如果 FileNames 包含空格,则必须用引号将其括起来。

/ieExeFile
指定当前正在执行的程序的名称。 将检查此程序的符号。 ExeFile 必须包含文件名和文件扩展名 (通常 .exe) ,但没有路径信息。 如果有两个同名的不同可执行文件,则不建议使用此选项。 ExeFile 可以指定任何程序,包括内核模式驱动程序。 如果 ExeFile 是单个星号 () * ,SymChk 将为所有正在运行的进程(包括驱动程序)检查符号。

/idDumpFile
指定内存转储文件。 将检查此转储文件的符号。

/ihHotFixFile
指定自解压缩修补程序 CAB 文件。

/ipProcessID
指定当前正在执行的程序的进程 ID。 将检查此程序的符号。 必须将 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 选项表示 eu,不能与 s 一起使用。

s
强制检查公共 (拆分) 符号。 私有符号将被视为不匹配。 s 选项表示 eu,不能与 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 File

除了发送到标准输出的消息外,还编写一个文件,其中包含所有通过符号检查的二进制文件及其符号的逗号分隔列表。

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 检查修补程序 CAB 文件时,它不会在 cab 内查找符号。 (默认情况下,SymChk 将在驾驶室和提供的符号路径中查找符号。)

/ea文件

SymChk 不会验证指定文件中列出的程序的符号。 这允许你否决某些本来会验证的程序。 文件 必须按相对路径、绝对路径或 UNC 路径 (指定一个文件,但不) 通配符;如果它包含空格,则应用引号引起来。 在 File 中,每行指示按相对路径、绝对路径或 UNC 路径) (程序文件;不允许使用通配符。 如果此文件中的某一行包含空格,则应用引号引起来。 此文件中的分号是一个注释字符 - 将忽略分号和行尾之间的所有内容。 如果使用符号服务器,则不会将这些程序的符号复制到下游存储。

/ee文件

禁止显示指定文件中列出的那些程序的错误消息。 “成功”和“忽略”消息将照常显示,符号文件将照常复制到下游存储。 文件的格式及其内容的格式与 /ea文件的格式相同。

其他信息

有关 SymChk 的详细信息,请参阅 使用 SymChk