DBH 命令

在 DBH 命令行中,可以使用各种命令来分析符号和符号文件。

下表列出了控制 DBH 选项和执行其他基本任务的命令。

命令 效果

verbose [on|off]

打开或关闭详细模式。 在没有参数的情况下,显示当前详细模式设置。

同情 [路径]

设置符号搜索路径。 如果没有参数,则显示当前符号搜索路径。

symopt选项

symopt +Options

symopt -Options

symopt

设置符号选项。 如果没有 +-则 Options 的值将替换当前符号选项。 如果使用 +-则 Options 指定要添加或删除的选项;或 - 之前+必须有一个空格,但后面没有空格。 如果没有参数,则显示当前符号选项。 启动 DBH 时,所有符号选项的默认值0x10C13。 有关可用选项的列表,请参阅 设置符号选项

help

显示 DBH 命令的帮助文本。

退出

退出 DBH 程序。

下表列出了加载、卸载和调整目标模块的基数的命令。 如果 DBH 是通过在命令行上指定进程 ID 来启动的,则无法使用这些命令。

命令 效果

加载文件

加载指定的模块。 文件 应指定可执行文件或符号文件的路径、文件名和文件扩展名。

卸载

卸载当前模块。

将默认基址设置为指定值。 所有符号地址都将相对于此基址确定。

下表列出了搜索文件和显示目录信息的命令。

命令 效果

findexe文件路径

使用 FindExecutableImage 例程在指定路径中找到指定的可执行文件。

finddbg文件路径

在指定路径中找到指定的 .dbg 文件。 包括 .dbg 扩展是可选的。

dir文件路径

使用 EnumDirTree 例程找到指定路径或此路径下的任何子目录中的指定文件。

srchtree路径文件

使用 SearchTreeForFile 例程查找指定路径或此路径下的任何子目录中的指定文件。 此命令与 dir 相同,只不过参数是反转的。

ffpath文件

在当前符号路径中查找指定的文件。

下表列出了分析模块列表和控制默认模块的命令。 默认模块及其基址显示在 DBH 提示符上。

命令 效果

modAddress

将默认模块更改为具有指定基址的模块。

refresh

刷新模块列表。

omap

显示模块 OMAP 结构。

epmodPID

枚举为指定进程加载的所有模块。 PID 指定所需进程的进程 ID。

info

显示有关当前加载的模块的信息。

objMask

列出与与指定模式匹配的默认模块关联的所有对象文件。 掩码 可能包含各种通配符和说明符;有关详细信息 ,请参阅字符串通配符语法

srcMask

列出与与指定模式匹配的默认模块关联的所有源文件。 掩码 可能包含各种通配符和说明符;有关详细信息 ,请参阅字符串通配符语法

enummod

枚举所有加载的模块。 始终至少有一个模块,除非 DBH 在没有目标的情况下运行,在这种情况下没有目标。

下表列出了用于显示和搜索符号的命令。

命令 效果

枚举模块象征

枚举与指定模块和符号匹配的所有符号。 Module 指定要在没有文件扩展名) 的情况下搜索 (的模块。 符号 指定符号必须包含的模式。 模块符号都可能包含各种通配符和说明符;有关详细信息,请参阅字符串通配符语法

enumaddrAddress

枚举与指定地址关联的所有符号。

addrAddress

显示有关与指定地址关联的符号的详细信息。

name [Module]象征

显示有关指定符号的详细信息。 可以包含可选的 模块 说明符。 不应使用通配符,因为如果多个符号与模式匹配, 名称 仅显示其中第一个符号。

下一个 [模块]象征

下一个地址

显示有关指定符号或地址后下一个符号的详细信息。 如果符号由名称指定,则可以包含可选的 模块 说明符,但不应使用通配符。

上一页 [模块]象征

上一个地址

显示有关指定符号或地址之前的第一个符号的详细信息。 如果符号按名称指定,则可以包含可选的 模块 说明符,但不应使用通配符。

lineFile#LineNum

显示与指定源行关联的二进制指令的十六进制地址,以及与此行关联的任何符号。 此外,将当前行号设置为等于指定的行号。 File 指定源文件的名称, LineNum 指定该文件中的行号;这些应用数字符号分隔 ( # ) 。

srclinesFile LineNum

显示与指定源行关联的对象文件,以及与此行关联的二进制指令的十六进制地址。 不更改当前行号。 File 指定源文件的名称, LineNum 指定该文件中的行号;这些应用空格分隔。

laddr地址

显示源文件和与位于指定地址的符号对应的行号。

亚麻ext

递增当前行号,并显示有关新行号的信息。

lineprev

递减当前行号,并显示有关新行号的信息。

locals函数 [Mask]

显示指定函数中包含的所有局部变量。 如果包含 Mask ,则仅显示与指定模式匹配的局部变量;有关详细信息 ,请参阅字符串通配符语法

typeTypeName

显示有关指定数据类型的详细信息。 TypeName 指定数据类型的名称 (例如 WSTRING) 。 如果没有类型名称与此值匹配,将显示任何匹配符号。 与大多数 DBH 命令参数不同, TypeName 区分大小写。

elines [Source [Obj]]

枚举与指定源掩码和对象掩码匹配的所有源行。 Source 指定源文件的名称,包括绝对路径和文件扩展名。 Obj 指定对象文件的名称,包括相对路径和文件扩展名。 SourceObj 都可能包含各种通配符和说明符;有关详细信息,请参阅字符串通配符语法。 如果省略参数,则等效于使用星号 () 通配符。 如果不希望指定路径信息,请在文件名前面加上 </strong> 以指示通配符路径。

index

显示有关具有指定索引值的符号的详细信息。

范围地址

scope [Module]象征

显示有关指定符号的父级的详细信息。 符号可以按地址或名称指定。

srch [mask=Symbol] [index=Index] [tag=Tag] [addr=Address] [globals]

搜索与指定掩码匹配的所有符号。 符号 指定符号名称。 它不应包含模块名称,但可能包含通配符和说明符;有关详细信息 ,请参阅字符串通配符语法Index 指定要用作搜索父级的符号的十六进制地址。 标记 指定符号类型分类器 (符号Xxx) 必须与符号匹配的值的十六进制符号类型。 Address 指定符号的地址。 如果包含 全局 符号,则仅显示全局符号。

uw地址

在指定地址处显示函数的展开信息。

dtag

显示符号类型分类器 (SymTagXxx) 值。

etypes

枚举所有数据类型。

dump

显示目标文件中所有符号信息的完整列表。

下表列出了与符号服务器和符号存储相关的命令。

命令 效果

home [Path]

设置 SymSrv 和 SrcSrv 用于默认下游存储的主目录。 如果符号路径包含对使用默认下游存储的符号服务器的引用,则主目录的 符号 子目录将用于下游存储。 如果没有参数, home 会显示当前主目录。

srvpath路径

测试指定路径是否为符号存储的路径。

srvind文件

查找对应于指定文件的符号服务器索引。 符号服务器索引是基于文件内容的唯一值,无论它是否实际已添加到任何符号存储。 文件 应指定所需文件的文件名和绝对路径。

fii文件

显示指定二进制文件及其关联文件的符号服务器索引。

getfile文件索引

显示具有指定名称和符号服务器索引的文件。 File 指定所需文件的名称;这不应包括其路径。 Index 指定所需文件的符号服务器索引。 DBH 使用 SymFindFileInPath 例程在当前符号路径下的树中搜索具有此名称和此索引的文件。

supPath File1 File2

根据参数的值将文件存储在符号存储中。 Path 指定符号存储的目录路径。 File1File2 用于创建增量值,后者又用于确定要存储的文件。

storeadd文件存储

将指定文件添加到指定的符号存储区。 存储 应该是符号存储的根路径。

下表列出了应用于实际符号和虚符号的 DBH 命令。

命令 效果

undecName

显示附加到指定符号名称的修饰的含义。 名称 可以是任何字符串;它不需要对应于当前加载的符号。 如果 Name 包含 C++ 修饰,则显示这些修饰的含义。

添加名称地址大小

将指定的虚符号添加到 DBH 中加载的符号列表。 Name 指定要添加的符号的名称, Address 指定其十六进制地址, 并调整 其十六进制大小(以字节为单位)。 这与后续 DBH 命令中的任何其他符号一样处理,直到 DBH 会话以 退出卸载结束,或者直到使用 del 删除虚符号为止。不会更改实际目标符号文件。

delName

delAddress

删除之前使用 add 命令添加的虚符号。 可以按名称或地址指定符号。 这不能用于删除真实符号。