Debug的学习扫盲(5)

2019-04-23 19:07

CS:81

n 命令行字符的开头

为 n 命令指定的第一个文件名被放在 CS:5C 的 FCB 中。如果指定第二个文件名,此名称将放置到 CS:6C 的 FCB 中。n 命令行上键入的字符数(除第一个字符之外,n)存储在位置 CS:80。n 命令行上的实际字符(再次,除了字母 n 之外)存储在以 CS:81 开头的位置。注意这些字符可以是在 Windows 2000 命令提示符下键入的命令中有效的任何开关和分隔符。 范例

假定已经启动 Debug,并加载了正在调试的程序 Prog.com。接着您决定为 Prog.com 指定两个参数并运行此程序。以下是此范例的命令序列:

debug prog.com nparam1 param2 g

在这种情况下,Debug g(转向)命令会运行该程序,就好像您已在 Windows 2000 命令提示符后键入了如下命令:

prog param1 param2

所以,测试和调试反映 Prog.com 通常的运行时间环境。

在下面的命令序列中,第一个 n 命令将 File1.exe 指定为后接的 l(加载)命令的文件,该命令将 File1.exe 加载到内存。第二个 n 命令指定 File1.exe 将使用的参数。最后,g 命令将运行 File1.exe 文件,就好像您在 Windows 2000 命令行中键入了 File1 File2.dat File2.dat 一样。 nfile1.exe l

nfile2.dat file3.dat g 注意

不要在 n 命令的第二种形式后使用 l 命令。还要注意,如果现在使用 w(写入)命令,Windows 2000 将使用名称 File2.dat 保存正在调试的文件 File1.exe。为避免出现此结果,应该总是在 l 或 w 命令之前立即使用 n 命令的第一种形式。

Debug:O(输出)

将字节值发送到输出端口。

o port byte-value 参数 port

通过地址指定输出端口。端口地址可以是 16 位值。

byte-value

指定要指向 port 的字节值。

有关从输入端口读取字节值的信息,请单击“相关主题”列表中的 Debug I(输入)。 范例

要将字节值 4Fh 发送到地址为 2F8h 的输出端口,请键入以下命令: o2f8 4f

Debug:P(执行)

执行循环、重复的字符串指令、软件中断或子例程;或通过任何其他指令跟踪。

p [= address] [number] 参数 =address

指定第一个要执行指令的位置。如果不指定地址,则默认地址是在 CS:IP 寄存器中指定的当前地址。 number

指定在将控制返回给 Debug 之前要执行的指令数。默认值为 1。

有关运行当前在内存中程序的信息,请单击“相关主题”列表中的 Debug G(转向)。

有关执行指令的信息,请单击“相关主题”列表中的 Debug T(跟踪)。 说明

控制传送到要测试的程序

当 p 命令将控制从 Debug 传送到要测试的程序时,该程序不间断运行,直到循环、重复字符串指令、软件中断或者完成了指定地址的子例程为止,或者直到执行了指定数量的机器指令为止。控制返回到 Debug。

地址参数的限制

如果 address 参数没有指定段,Debug 将使用被测试程序的 CS 寄存器。如果省略 address,程序将从 CS:IP 寄存器所指定的地址开始执行。必须在 address 参数之前使用等号 (=) 以便将它与 number 参数区分。如果在指定地址处的指令不是循环、重复的字符串指令、软件中断或子例程,则 p 命令与 Debug t(跟踪)命令的作用相同。

使用 p 命令显示的邮件

当 p 执行完一段说明后,Debug 显示出程序的寄存器内容、标志的状态以及下一段将要被执行的指令的解码形式。 警告

不能使用 p 命令跟踪只读内存 (ROM)。 范例

假定正在测试的程序在地址 CS:143F 处包含一个 call 指令。要运行 call 目标位置的子程序然后将控制返回到 Debug,请键入以下命令: p=143f

Debug 按以下格式显示结果:

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=2246 ES=2246 SS=2246 CS=2246 IP=1443 NV UP EI PL NZ AC PO NC 2246:1442 7505 JNZ 144A

Debug:Q(退出)

停止 Debug 会话,不保存当前测试的文件。

当您键入 q 以后,控制返回到 Windows 2000 的命令提示符。 q 参数

该命令不带参数。

有关保存文件的信息,请单击“相关主题”列表中的 Debug W(写入)。

Debug:R(寄存器)

显示或改变一个或多个 CPU 寄存器的内容。

r [register-name] 参数 无

如果在没有参数的情况下使用,则 r 命令显示所有寄存器的内容以及寄存器存储区域中的标志。

register-name

指定要显示其内容的寄存器名。

有关显示内存部分内容的信息,请单击“相关主题”列表中的 Debug D(转储)。

有关反汇编字节的信息,请单击“相关主题”列表中的 Debug U(反汇编)。 说明

使用 r 命令

如果指定了寄存器名称,Windows 2000 将显示以十六进制标记表示的寄存器的 16 位值,并将冒号显示为提示符。如果要更改包含在寄存器中的值,除非键入新值并按 ENTER 键;否则,请按 ENTER 键返回 Debug 提示符。

有效寄存器名

以下是 register-name 的有效值:ax、bx、cx、dx、sp、bp、si、di、ds、es、ss、cs、ip、pc 及 f。ip 和 pc 都引用指令指针。

如果指定寄存器名称,而不是从前面的列表中指定,Windows 2000 将显示以下消息: br error

使用 f 字符而不是寄存器名

如果键入 f 字符代替寄存器名,Debug 将每个标记的当前设置显示为两字母代码,然后显示 Debug 提示符。要更改标志的设置,请从下表中键入适当的两字母代码: 标志名 设置 清除 溢出 ov nv 方向 dn(减) up(增) 中断 ei(启用) di(禁用) 正负 ng(负) pl(正) 零 zr nz 辅助进位 ac na 奇偶校验 pe(偶校验)


Debug的学习扫盲(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省苏锡常镇四市2014届高三3月教学情况调研(一)物理试题及

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: