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
如果 文件 指定目录, 则 /r 选项会导致 SymChk 以递归方式在此目录下搜索程序文件的所有子目录。

/v
显示详细信息。 这包括调查其符号的每个程序文件的文件名,以及它是否传递、失败或被忽略。

/q
启用静默模式。 所有输出将被禁止(除非 包含 /ot 选项)。

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

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

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

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

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

s
强制检查公共(拆分)符号。 私有符号将被视为不匹配。 该选项意味着 eu,不能与 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 检查修补程序 CAB 文件时,它不会在 cab 中查找符号。 (默认情况下,SymChk 将在 cab 中以及提供的符号路径中查找符号。

/ea 文件

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

/ee 文件

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

其他信息

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