barriers / 阅读 / 详情

debug是什么东西?如何使用这个程序

2023-07-29 02:58:26
共3条回复
我不懂运营
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!

Debug

Debug原意是杀虫子。这里是机器调试工具。

他的用处有很多

启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。

Debug [[drive:][path] filename [parameters]]

参数

[drive:][path] filename

指定要测试的可执行文件的位置和名称。

parameters

指定要测试的可执行文件所需要的任何命令行信息。

++

说明

使用 Debug 命令但不指定要测试的文件

如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。

Debug 命令

以下是 Debug 命令列表:

? 显示 Debug 命令列表。

a 汇编 8086/8087/8088 记忆码。

c 比较内存的两个部分。

d 显示部分内存的内容。

e 从指定地址开始,将数据输入到内存。

f 使用指定值填充一段内存。

g 运行在内存中的可执行文件。

h 执行十六进制运算。

i 显示来自特定端口的 1 字节值。

l 将文件或磁盘扇区内容加载到内存。

m 复制内存块中的内容

/n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。

o 向输出端口发送 1 个字节的值。

p 执行循环、重复的字符串指令、软件中断或子例程。

q 停止 Debug 会话。

r 显示或改变一个或多个寄存器。

s 在部分内存中搜索一个或多个字节值的模式。

t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。

u 反汇编字节并显示相应的原语句。

w 将被测试文件写入磁盘。

xa 分配扩展内存。

xd 释放扩展内存。

xm 映射扩展内存页。

xs 显示扩展内存的状态。

分隔命令参数

所有 Debug 命令都接受参数,除了 q 命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价:

dcs:100 110

d cs:100 110

d,cs:100,110

指定有效地址项

Debug 命令中的 address 参数指定内存位置。Address 是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u 和 w 命令的默认段是 CS。所有其他命令的默认段是 DS。所有数值均为十六进制格式。

有效地址如下:

CS:0100

04BA:0100

在段名和偏移量之间要有冒号。

指定有效范围项

Debug 命令中的 range 参数指定了内存的范围。可以为 range 选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由 l 表示)。

例如,下面的两个语法都可以指定从 CS:100 开始的 16 字节范围:

cs:100 10f

cs:100 l 10

++

Debug 子命令

选择 Debug 命令以获得详细信息。

Debug:A(汇编)

Debug:C(比较)

Debug(转储)

Debug:E(键入)

Debug:F(填充)

Debug:G(转向)

Debug:H(十六进制)

Debug:I(输入)

Debug:L(加载)

Debug:M(移动)

Debug:N(名称)

Debug:O(输出)

Debug:P(执行)

Debug:Q(退出)

Debug:r(寄存器)

Debug:s(搜索)

Debug:T(跟踪)

Debug:U(反汇编)

Debug:W(写入)

Debug:XA(分配扩展内存)

Debug:XD(取消分配扩展内存)

Debug:XM(映射扩展内存页)

Debug:XS(显示扩展内存状态)

***********************Debug子命令******************************

Debug:A(汇编)

直接将 8086/8087/8088 记忆码合并到内存。

该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。

a [address]

参数

address

指定键入汇编语言指令的位置。对 address 使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a 将在它上次停止处开始汇编。

有关将数据输入到指定字节中的信息,请单击“相关主题”列表中的 Debug E(键入)。

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

范例

a 命令支持所有形式的间接注册命令,如下例所示:

add bx,34[bp+2].[si-1]

pop [bp+di]

push [si] )

还支持所有操作码同义词,如下例所示:

loopz 100

loope 100

ja 200

jnbe 200

对于 8087 操作码,必须指定 wait 或 fwait 前缀,如下例所示:

fwait fadd st,st(3) ; this line assembles

; an fwait prefix

说明

使用记忆码

段的替代记忆码为 cs:、ds:、es: 和 ss:。远程返回的记忆码是 retf。字符串处理的记忆码必须明确声明字符串大小。例如,使用 movsw 可以移动 16 位的字串,使用 mov***(文字因故被系统屏蔽)***(文字因故被系统屏蔽) 可以移动 8 位字节串。

汇编跳转和调用

汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用 near 或 far 前缀可以替代这样的跳转或调用,如下例所示:

-a0100:0500

0100:0500 jmp 502 ; a 2-byte short jump

0100:0502 jmp near 505 ; a 3-byte near jump

0100:0505 jmp far 50a ; a 5-byte far jump

可以将 near 前缀缩写为 ne。

区分字和字节内存位置

当某个操作数可以引用某个字内存位置或者字节内存位置时,必须用前缀 word ptr 或者前缀 byte ptr 指定数据类型。可接受的缩写分别是 wo 和 by。以下范例显示两种格式:

dec wo [si]

neg byte ptr [128]

指定操作数

Debug 使用包括在中括号 ([ ]) 的操作数引用内存地址的习惯用法。这是因为另一方面 Debug 不能区分立即操作数和内存地址的操作数。以下范例显示两种格式:

mov ax,21 ; load AX with 21h

mov ax,[21] ; load AX with the

; contents of

; memory location 21h

使用伪指令

使用 a 命令提供两个常用的伪指令:db 操作码,将字节值直接汇编到内存,dw 操作码,将字值直接汇编到内存。以下是两个伪指令的范例:

db 1,2,3,4,"THIS IS AN EXAMPLE"

db THIS IS A QUOTATION MARK:"

db "THIS IS A QUOTATION MARK:"

dw 1000,2000,3000,"BACH"

++

Debug:C(比较)

比较内存的两个部分。

c range address

参数

range

指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。有关有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。

address

指定要比较的第二个内存区域的起始地址。有关有效 address 值的信息,请单击“相关主题”列表中的“Debug 说明”。

++

范例

以下命令具有相同效果:

c100,10f 300

c100l10 300

每个命令都对 100h 到 10Fh 的内存数据块与 300h 到 30Fh 的内存数据块进行比较。

Debug 响应前面的命令并显示如下信息(假定 DS = 197F):

197F:0100 4D E4 197F:0300

197F:0101 67 99 197F:0301

197F:0102 A3 27 197F:0302

197F:0103 35 F3 197F:0303

197F:0104 97 BD 197F:0304

197F:0105 04 35 197F:0305

197F:0107 76 71 197F:0307

197F:0108 E6 11 197F:0308

197F:0109 19 2C 197F:0309

197F:010A 80 0A 197F:030A

197F:010B 36 7F 197F:030B

197F:010C BE 22 197F:030C

197F:010D 83 93 197F:030D

197F:010E 49 77 197F:030E

197F:010F 4F 8A 197F:030F

注意列表中缺少地址 197F:0106 和 197F:0306。这表明那些地址中的值是相同的。

++

说明

如果 range 和 address 内存区域相同,Debug 将不显示任何内容而直接返回到 Debug 提示符。如果有差异,Debug 将按如下格式显示:

address1 byte1 byte2 addess2

++++

Debug(转储)

显示一定范围内存地址的内容。

d [range]

参数

range

指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。有关有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。如果不指定 range,Debug 程序将从以前 d 命令中所指定的地址范围的末尾开始显示 128 个字节的内容。

有关显示寄存器内容的信息,请单击“相关主题”列表中的 Debug R(寄存器)。

++

范例

假定键入以下命令:

dcs:100 10f

Debug 按以下格式显示范围中的内容:

04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00 TOM.SAWYER......

如果在没有参数的情况下键入 d 命令,Debug 按以前范例中所描述的内容来编排显示格式。显示的每行以比前一行的地址大 16 个字节(如果是显示 40 列的屏幕,则为 8 个字节)的地址开头。

对于后面键入的每个不带参数的 d 命令,Debug 将紧接在最后显示的命令后立即显示字节内容。

如果键入以下命令,Debug 将从 CS:100 开始显示 20h 个字节的内容:

dcs:100 l 20

如果键入以下命令,Debug 将显示范围从 CS 段的 100h 到 115h 中所有字节的内容:

dcs:100 115

++

说明

当使用 d 命令时,Debug 以两个部分显示内存内容:十六进制部分(每个字节的值都用十六进制格式表示)和 ASCII 码部分(每个字节的值都用 ASCII 码字符表示)。每个非打印字符在显示的 ASCII 部分由句号 (.) 表示。每个显示行显示 16 字节的内容,第 8 字节和第 9 字节之间有一个连字符。每个显示行从 16 字节的边界上开始。

++

Debug:E(键入)

将数据输入到内存中指定的地址。

可以按十六进制或 ASCII 格式键入数据。以前存储在指定位置的任何数据全部丢失。

e address

参数

address

指定输入数据的第一个内存位置。

list

指定要输入到内存的连续字节中的数据。

有关集成记忆码的信息,请单击“相关主题”列表中的 Debug A(汇编)。

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

++

范例

假定键入以下命令:

ecs:100

Debug 按下面的格式显示第一个字节的内容:

04BA:0100 EB.

要将该值更改为 41,请在插入点键入 41,如下所示:

04BA:0100 EB.41_

可以用一个 e 命令键入连续的字节值。在键入新值后按 SPACEBAR(空格键),而不是按 ENTER 键。Debug 显示下一个值。在此范例中,如果按三次 SPACEBAR(空格键),Debug 将显示下面的值:

04BA:0100 EB.41 10. 00. BC._

要将十六进制值 BC 更改为 42,请在插入点键入 42,如下所示:

04BA:0100 EB.41 10. 00. BC.42_

假定决定值 10 应该是 6F。要纠正该值,请按 HYPHEN 键两次以返回到地址 0101(值 10)。Debug 显示以下内容:

04BA:0100 EB.41 10. 00. BC.42-

04BA:0102 00.-

04BA:0101 10._

在插入点键入 6f 更改值,如下所示:

04BA:0101 10.6f_

按 ENTER 停止 e 命令并返回到 Debug 提示符下。

以下是字符串项的范例:

eds:100 "This is the text example"

该字符串将从 DS:100 开始填充 24 个字节。

++

说明

使用 address 参数

如果在没有指定可选的 list 参数的值情况下指定 address 的值,Debug 将显示地址和内容,在下一行重复地址,并等待您的输入。此时,您可以执行下列操作之一:

· 替换字节值。为此,请在当前值后键入新值。如果您键入的值不是有效的十六进制值,或该值包含两个以上的数字,则 Debug 不会回显无效或额外的字符。

· 进入下一个字节。为此,请按 SPACEBAR(空格键)。要更改该字节中的值,请在当前值后键入新值。如果按 SPACEBAR(空格键)时,移动超过了 8 位界限,Debug 程序将显示新的一行并在行首显示新地址。

· 返回到前一个字节。为此,请按 HYPHEN 键 (-)。可以反复按 HYPHEN 键 (-) 向后移动超过多个字节。在按 HYPHEN 时,Debug 开始新行并显示当前地址和字节值。

· 停止执行 e 命令。为此,请按 ENTER 键。在任何字节位置都可以按 ENTER。

使用 list 参数

如果指定 list 参数的值,随后的 e 命令将使用列表中的值替换现有的字节值。如果发生错误,将不更改任何字节值。

List 值可以是十六进制字节或字符串。使用空格、逗号或制表符来分隔值。必须将字符串包括在单或双引号中。

++++

Debug:F(填充)

使用指定的值填充指定内存区域中的地址。

可以指定十六进制或 ASCII 格式表示的数据。任何以前存储在指定位置的数据将会丢失。

f range list

参数

range

指定要填充内存区域的起始和结束地址,或起始地址和长度。关于有效的 range 值的信息,请单击“相关主题”列表中的“Debug 说明”。

list

指定要输入的数据。List 可以由十六进制数或引号包括起来的字符串组成。

++

范例

假定键入以下命令:

f04ba:100l100 42 45 52 54 41

作为响应,Debug 使用指定的值填充从 04BA:100 到 04BA:1FF 的内存位置。Debug 重复这五个值直到 100h 个字节全部填满为止。

++

说明

使用 range 参数

如果 range 包含的字节数比 list 中的数值大,Debug 将在 list 中反复指派值,直到 range 中的所有字节全部填充。

如果在 range 中的任何内存损坏或不存在,Debug 将显示错误消息并停止 f 命令。

使用 list 参数

如果 list 包含的数值多于 range 中的字节数,Debug 将忽略 list 中额外的值。

++

Debug:G(转向)

运行当前在内存中的程序。

g [=address] [breakpoints]

参数

=address

指定当前在内存中要开始执行的程序地址。如果不指定 address,Windows 2000 将从 CS:IP 寄存器中的当前地址开始执行程序。

breakpoints

指定可以设置为 g 命令的部分的 1 到 10 个临时断点。

有关执行循环、重复的字符串指令、软件中断或子程序的信息,请单击“相关主题”列表中的 Debug P(执行)。

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

范例

假定键入以下命令:

gcs:7550

Windows 2000 运行当前内存中的程序,直到执行到 CS 段中的断点地址 7550 为止。Debug 将显示寄存器的内容和标志的状态并结束 g 命令。

以下命令设置两个断点:

gcs:7550, cs:8000

如果在 Debug 遇到断点之后再次键入 g 命令,将从在断点之后的指令开始执行,而不是在通常的开始地址执行。

++

说明

使用 address 参数

必须在 address 参数之前使用等号 (=) 以区分开始地址 (address) 和断点地址 (breakpoints)。

指定断点

程序在它遇到的第一个断点处停止,而不论您在 breakpoint 列表的什么位置键入断点。Debug 在每个断点处用中断代码代替原始指令。

当程序到达断点时,Debug 将所有断点地址恢复到它们的最初指令并显示所有寄存器的内容、所有标记的状态以及最后执行指令的解码形式。Debug 显示的信息与使用 Debug r(寄存器)命令并指定断点时所显示的信息相同。

如果不在断点处停止程序,Debug 程序将不使用原始指令替换中断代码。

设置断点的限制

可以只在包含 8086 操作代码(操作码)的第一个字节的地址上设置断点。如果设置了 10 个以上的断点,Debug 将显示以下信息:

bp error

对用户堆栈指针的要求

用户堆栈指针必须有效且必须有 6 个字节可用于 g 命令。该命令使用 iret 指令跳转到正在被测试的程序。Debug 设置用户堆栈指针并将用户标志、代码段寄存器和指令指针压入用户堆栈。(如果用户堆栈无效或太小,操作系统可能会失败。)Debug 在指定的断点处设置中断代码 (0CCh)。

重新启动程序

不要在 Windows 2000 显示以下消息后尝试重新启动程序;

Program terminated normally

要正确地运行程序,必须通过使用 Debug n(名称)和 l(加载)命令重新加载该程序。

++++

Debug:H(十六进制)

对指定的两个参数执行十六进制运算。

h value1 value2

参数

value1

代表从 0 到 FFFFh 范围内的任何十六进制数字。

value2

代表从 0 到 FFFFh 范围内第二个十六进制数字。

++

范例

假定键入以下命令:

h19f 10a

Debug 执行运算并显示以下结果。

02A9 0095

++

说明

Debug 首先将指定的两个参数相加,然后从第一个参数中减去第二个参数。这些计算的结果显示在一行中:先计算和,然后计算差。

++++

Debug:I(输入)

从指定的端口读取并显示一个字节值。

i port

参数

port

按地址指定输入端口。地址可以是 16 位的值。

有关将字节值发送到输出端口的信息,请单击“相关主题”列表中的 Debug O(输出)。

++

范例

假定键入以下命令:

i2f8

同时假定端口的字节值是 42h。Debug 读取该字节,并将其值显示如下:

42

++

Debug:L(加载)

将某个文件或特定磁盘扇区的内容加载到内存。

要从磁盘文件加载 BX:CX 寄存器中指定的字节数内容,请使用以下语法:

l [address]

要略过 Windows 2000 文件系统并直接加载特定的扇区,请使用以下语法:

l address drive start number

参数

address

指定要在其中加载文件或扇区内容的内存位置。如果不指定 address,Debug 将使用 CS 寄存器中的当前地址。

drive

指定包含读取指定扇区的磁盘的驱动器。该值是数值型:0 = A, 1 = B, 2 = C 等。

start

指定要加载其内容的第一个扇区的十六进制数。

number

指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载 debug 命令行或最近的 Debug n(名称)命令中指定的文件时,才能使用 drive、start 和 number 参数。

有关指定用于 l 命令的文件的信息,请单击“相关主题”列表中的 Debug n(名称)。

有关写入调试到磁盘的文件的信息,请单击“相关主题”列表中的 Debug w(写入)。

++

范例

假定启动 Debug 并键入以下命令:

n***.com

现在可以键入 l 命令以加载 F**.com。Debug 将加载文件并显示 Debug 提示符。

假定需要从驱动器 C 将起始逻辑扇区为 15 (0Fh) 的 109 (6Dh) 个扇区的内容加载到起始地址为 04BA:0100 的内存中。为此,请键入以下命令:

l04ba:100 2 0f 6d

++

注意

使用不带参数的 l 命令

当使用不带参数的 l 命令时,在 debug 命令行上指定的文件将加载到内存中,从地址 CS:100 开始。Debug 同时将 BX 和 CX 寄存器设置为加载的字节数。如果不在 debug 命令行指定文件,所装入的文件将是最近使用 n 命令经常指定的文件。

使用具有 address 参数的 1 命令

如果使用带 address 参数的 l 命令,Debug 将从内存位置 address 开始加载文件或指定扇区的内容。

使用带全部参数的 l 命令

如果使用带所有参数的 l 命令,Debug 将加载指定磁盘扇区的内容而不是加载文件。

加载特定扇区的内容

指定范围内的每个扇区均从 drive 读取。Debug 从 start 开始加载,直到在 number 中指定的扇区数中的内容全部被加载。

加载 .exe 文件

Debug 忽略 .exe 文件的地址 address 参数。如果指定 .exe 文件,Debug 将文件重新定位到 .exe 文件的标题中指定的加载地址。在 .exe 文件被加载到内存前,标题自身从 .exe 文件脱离,因此磁盘上的 .exe 文件大小与内存中的不同。如果要检查整个 .exe 文件,请使用不同的扩展名重命名文件。

打开十六进制文件

Debug 将具有 .hex 扩展名的文件认为十六进制格式文件。键入不带参数的 l 命令,可以加载从十六进制文件中指定的地址处开始的十六进制文件。如果键入的 l 命令包含 address 参数,Debug 将把指定的地址加到在十六进制文件中找到的地址上,以确定起始地址。

++++

Debug:M(移动)

将一个内存块中的内容复制到另一个内存块中。

m range address

参数

range

指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。

address

指定要将 range 内容复制到该位置的起始地址。

++

范例

假定键入以下命令:

mcs:100 110 cs:500

Debug 首先将 CS:110 地址中的内容复制到地址 CS:510 中,然后将 CS:10F 地址中的内容复制到 CS:50F 中,如此操作直至将 CS:100 地址中的内容复制到地址 CS:500 中。要查看结果,请使用 Debug d(转储)命令,并使用 m 命令指定目标地址。

++

说明

复制操作对现有数据的影响

如果新数据没有写入正在被复制的数据块中的地址,则源数据将保持不变。但是,如果目标块已经包含数据(就象它在覆盖副本操作中一样),则将改写该数据。(覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。)

执行覆盖复制操作

m 命令执行目标地址的覆盖复制操作,而不丢失数据。将改写的地址内容首先复制。因此,如果将较高位地址的数据复制到较低位地址,则复制操作从原块的最低位地址开始并向最高位地址进行。反之,如果要将数据从低地址复制到高地址,复制操作从原块的最高地址开始,向最低地址进行。

++++

Debug:N(名称)

指定 Debug l(加载)或 w(写入)命令的可执行文件的名称,或者指定正在调试的可执行文件的参数。

n [drive:][path] filename

okok云
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
http://tieba.b***.com/f?kw=debug&t=4
大鱼炖火锅

命令提示符或者编程时使用的调试程序

相关推荐

debug是什么意思

debug英-[diu02d0"bu028cg]美-[,di"bu028cɡ]释义vt. 调试;除错,改正有毛病部分;[军] 除去窃听器
2023-07-27 19:08:351

debug是什么意思啊

DEBUG是计算机排除故障的意思。马克2号(Harvard Mark II)编制程序的格蕾丝霍珀(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐地把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的调试操作。Debug详细命令列表:Debug:A(汇编)—汇编 8086/8087/8088 记忆码。Debug:C(比较)—比较内存的两个部分。Debug:D(转储)—显示部分内存的内容。Debug:E(键入) —从指定地址开始,将数据输入到内存。Debug:F(填充)—使用指定值填充一段内存。Debug:G(转向)—运行在内存中的可执行文件。Debug:H(十六进制)—执行十六进制运算。Debug:I(输入)—显示来自特定端口的 1 字节值。
2023-07-27 19:09:042

通常大家说的“bug”和“debug”都指什么?

BUG英文是缺陷意思。debug是找缺陷,程序上漏洞,找漏洞。BUG是指程序错误或漏洞,就是程序员编程时由于某些原因,因程序语句写错或考虑不周而未能实现想要的功能,甚至不能运行程序。最常见的可能就是某些游戏,由于程序没编好,别人就可能会利用其漏洞篡改游戏数据。DEBUG就是指程序员对编好的程序进行漏洞的排查,尽量消除错误或漏洞。一般都是用专业的工具进行。与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。遗憾的是,在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。虽然也有人使用“臭虫”一词替代“Bug”,但容易产生歧义,所以推广不开。 所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。软件的错误全是厂家设计错误。
2023-07-27 19:09:231

debug是什么意思 解析程序员必备技能-Debug?

debug的目的是找出程序的错误,然后进行修复。当程序出现错误时,debug工具可以帮助程序员快速地定位问题。在debug过程中,程序员会使用一些工具,如断点调试、日志记录、堆栈追踪等,以便找出程序的错误。debug的过程中,程序员需要有良好的逻辑思维和耐心。有时候,一个小错误可能会导致整个程序崩溃,所以需要认真地检查每一个细节。程序员需要对程序的各个部分都非常熟悉,这样才能快速地找到错误。在debug过程中,程序员需要注意一些常见的错误类型,如语法错误、逻辑错误、运行时错误等。程序员需要找到错误的根源,并进行修复,以确保程序的正常运行。在debug过程中,程序员需要注意一些常见的错误类型,如语法错误、逻辑错误、运行时错误等。程序员需要找到错误的根源,并进行修复,以确保程序的正常运行。
2023-07-27 19:09:312

电脑上DEBUG是什么意思

就是在电脑上排除故障的意思,一般多用于软件开发领域
2023-07-27 19:09:392

debug什么意思

debug是dos中的一个外部命令,从dos 1.0起就带有此命令,因此可见此命令的重要性了。虽然此命令的功能非常强大,可以解决许多问题,可是对许多人来说,尤其是初学者来说,却非常不易掌握。因此,现将debug的命令详细介绍一番,以让大家知道它的使用。
2023-07-27 19:09:541

计算机术语中的debug是什么意思

debug的意思:①排除故障,排除错误;②调整程序,移去程序中的错误;③除害虫,除去建筑物内的窃听器。程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的编译操作。扩展资料DEBUG是一种计算机程序。马克2号(Harvard Mark II)编制程序的葛丽丝·霍波(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的编译操作。参考资料:百度百科-DEBUG
2023-07-27 19:10:081

debug命令有什么作用?如何使用?

DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。x0dx0a一、DEBUG程序的调用x0dx0a 在DOS的提示符下,可键入命令:x0dx0a C:DEBUG [D:][PATH][FILENAME[.EXT]][PARM1][PARM2]x0dx0a 其中,文件名是被调试文件的名字。如用户键入文件,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。x0dx0a 在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。x0dx0a二、DEBUG的主要命令x0dx0a 1、显示存储单元的命令D(DUMP),格式为:x0dx0a _D[address]或_D[range]x0dx0a 例如,按指定范围显示存储单元内容的方法为:x0dx0a -d100 120x0dx0a18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G...x0dx0a18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW.x0dx0a 7x0dx0a18E4:0120 8Bx0dx0a 其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。x0dx0a2、修改存储单元内容的命令有两种。x0dx0a ·输入命令E(ENTER),有两种格式如下:第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为:x0dx0a -E address[list]x0dx0a例如,-E DS:100 F3"XYZ"8Dx0dx0a 其中F3,"X","Y","Z"和各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。x0dx0a 第二种格式则是采用逐个单元相继修改的方法。命令格式为:x0dx0a -E addressx0dx0a例如,-E DS:100x0dx0a 则可能显示为:x0dx0a 18E4:0100 89.-x0dx0a 如果需要把该单元的内容修改为78,则用户可以直接键入78,再按“空格”键可接着显示下一个单元的内容,如下:x0dx0a 18E4:0100 89.78 1B.-x0dx0a 这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该命令为止。x0dx0a ·填写命令F(FILL),其格式为:x0dx0a -F range listx0dx0a例如:-F 4BA:0100 5 F3"XYZ"8Dx0dx0a 使04BA:0100~0104单元包含指定的五个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。x0dx0a3)检查和修改寄存器内容的命令R(register),它有三种格式如下:x0dx0a ·显示CPU内所有寄存器内容和标志位状态,其格式为:x0dx0a -Rx0dx0a例如,-rx0dx0a AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000x0dx0a DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NCx0dx0a 18E4:0100 C70604023801 MOV WORD PTR [0204],0138 DS:0204=0000x0dx0a ·显示和修改某个寄存器内容,其格式为:x0dx0a -R register namex0dx0a例如,键入x0dx0a -R AXx0dx0a 系统将响应如下:x0dx0a AX F1F4x0dx0a :x0dx0a即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如:x0dx0ax0dx0a -R bxx0dx0a BX 0369x0dx0a :059Fx0dx0a则把BX寄存器的内容修改为059F。x0dx0a ·显示和修改标志位状态,命令格式为:x0dx0a -RF系统将响应,如:x0dx0a OV DN EI NG ZR AC PE CY-x0dx0a 此时,如不修改其内容可按ENTER键,否则,可键入欲修改的内容,如:x0dx0a OV DN EI NG ZR AC PE CY-PONZDINVx0dx0a 即可,可见键入的顺序可以是任意的。x0dx0a4)运行命令G,其格式为:x0dx0a -G[=address1][address2[address3?]]x0dx0a 其中,地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。x0dx0a5)跟踪命令T(Trace),有两种格式:x0dx0a ·逐条指令跟踪x0dx0a -T [=address]x0dx0a 从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。如未指定地址则从当前的CS:IP开始执行。x0dx0a ·多条指令跟踪x0dx0a -T [=address][value]x0dx0a 从指定地址起执行n条指令后停下来,n由value指定。x0dx0a6)汇编命令A(Assemble),其格式为:x0dx0a -A[address]x0dx0a 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。x0dx0a7)反汇编命令U(Unassemble)有两种格式。x0dx0a ·从指定地址开始,反汇编32个字节,其格式为:x0dx0a -U[address]x0dx0a例如:x0dx0a -u100x0dx0a 18E4:0100 C70604023801 MOV WORD PTR[0204],0138x0dx0a 18E4:0106 C70606020002 MOV WORD PTR[0206],0200x0dx0a 18E4:010C C70606020202 MOV WORD PTR[0208],0202x0dx0a 18E4:0112 BBO4O2 MOV BX,0204x0dx0a 18E4:0115 E80200 CALL 011Ax0dx0a 18E4:0118 CD20 INT 20x0dx0a 18E4:011A 50 PUSH AXx0dx0a 18E4:011B 51 PUSH CXx0dx0a 18E4:011C 56 PUSH SIx0dx0a 18E4:011D 57 PUSH DIx0dx0a 18E4:011E 8B37 MOV SI,[BX]x0dx0a如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。x0dx0a ·对指定范围内的存储单元进行反汇编,格式为:x0dx0a -U[range]x0dx0a例如:x0dx0a -u100 10cx0dx0a 18E4:0100 C70604023801 MOV WORD PTR[0204],0138x0dx0a 18E4:0106 C70606020002 MOV WORD PTR[0206],0200x0dx0a 18E4:010C C70606020202 MOV WORD PTR[0208],0202x0dx0a或x0dx0a -u100 112 x0dx0a 18E4:0100 C70604023801 MOV WORD PTR[0204],0138x0dx0a 18E4:0106 C70606020002 MOV WORD PTR[0206],0200x0dx0a 18E4:010C C70606020202 MOV WORD PTR[0208],0202x0dx0ax0dx0a 可见这两种格式是等效的。x0dx0a8)命名命令N(Name),其格式为:x0dx0a -N filespecs [filespecs]x0dx0a命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W命令把文件装入存盘。filespecs的格式可以是:x0dx0a[d:][path] filename[.ext]x0dx0a例如,x0dx0a -N myprogx0dx0a -Lx0dx0a -x0dx0a可把文件myprog装入存储器。x0dx0a9)装入命令(Load),有两种功能。x0dx0a ·把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。其格式为:x0dx0a -L[address[drive sector sector]x0dx0a ·装入指定文件,其格式为:x0dx0a -L[address]x0dx0a此命令装入已在CS:5CH中格式化了文件控制块所指定的文件。如未指定地址,则装入CS:0100开始的存储区中。x0dx0a10)写命令W(Write),有两种功能。x0dx0a ·把数据写入磁盘的指定扇区。其格式为:x0dx0a -W address drive sector sectorx0dx0a ·把数据写入指定的文件中。其格式为:x0dx0a -W[address]x0dx0a此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中。如未指定地址则数据从CS:0100开始。要写入文件的字节数应先放入BX和CX中。x0dx0a11)退出DEBUG命令Q(Quit),其格式为:x0dx0a -Qx0dx0a它退出DEBUG,返回DOS。本命令并无存盘功能,如需存盘应先使用W命令。
2023-07-27 19:10:241

debug是什么意思debug是什么意思

debug命令  DEBUG命令参数详解  DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。  它的功能包括以下几个方面。  1,直接输入,更改,跟踪,运行汇编语言源程序;  2,观察操作系统的内容;  3,查看ROMBIOS的内容;  4,观察更改RAM内部的设置值;  5,以扇区或文件的方式读写软盘数据  DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEBUG可以识别两种数据:十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。  在DEBUG中输入数据有两种方法:提示方法和非提示方法。在用提示方法时,用户可以输入要求输入数据的命令,后跟数据所要输入的地址。然后用户就可以看到该地之中已有内容及一个冒号提示符。此时用户可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到短横(-)提示符。在运用非提示方法时,用户可以输入要输入数据的内存地址以及要输入的字节。但与使用字处理程序或正文编辑程序时不一样,在使用DEBUG时,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。  在使用DEBUG时可以只涉及内存中的数据,从而一般都要指定所要处理的内存地址,地址的输入格式是:[段地址]:[位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,这一专用区域用于建立DOS与程序之间的联系。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。  讲到这里大家应该对DEBUG有了初步的了解,但是光知道这些可不够,接下来我来讲讲DEBUG的命令格式和命令。当输入  DEBUG  调用了DEBUG程序,就会出现一个短横提示符,用户就可以在这一短横后输入DEBUG程序的命令。有些DEBUG命令会显示一个内存地址并产生一个作为提示符的冒号。在这些提示符后,用户可以输入一个新值以改变所显示位置原来的值。如果用户不输入一个新值而是按下回车或CTRL+C,那么原来的值不会改变。  一般用不着把地址和命令名字分开。例如,用转储命令D察看100号地址的数据,那么这个命令可以用以下任一种形势输入:  D100  D100  D。100  D,100  如果输入的命令中出现了错误,DEBUG将在下一行对着错误的位置标记出来,例如:  -s100d12  ^Error  DEBUG的命令及功能如下:  *A[地址]汇编命令  功能:将指令直接汇编成机器码输入到内存中。  说明:用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制,用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改语句被汇编到CS:0100区域。  例A:>DEBUG  -a0100  08F1:0100MOVAH,09  08F1:0102MOVDX,109  08F1:0105INT21H;  08F1:0107INT21H;debugtan.exe  -u:反编译成汇编语言程码  …………  ..  -g100指定中断点  Programterminatednormally:  另外:我们在DEBUG下可运行一个文件.EXE  如:A:>debugtan.exe  -g  即可开始运行此程序,和在DOS下完全一样:  *H[数值][数值]十六进制算术运算命令  功能:分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。  说明:替用户完成简单的十六进制数的运算。  例:-h45385623  9B5BEF15  *I[端口地址]  功能:从指定的端口输入并显示(用十六进制)的一个字节。  例:-i70  F9;显示70端口的内容为F9  I命令可由80X86的64K个端口取数据  *L[地址][盘号:][逻辑扇区号][扇区数]  功能:将一个文件或盘的绝对扇区装入存储器。  说明:单个L命令能够装入的最大扇区数是80H,其中盘号0,1,2,3……分别代表A,B,C,……出现读盘错,显示错误信息。  (1)格式1.L装入地址驱动器名起始扇区/扇区数  这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。  例:-L100001,将A驱的0扇区装至CS:100上  -d10010f  08F1:0100EB3C903C53444F53-362E323202010100.L,MSDOS6.22……  (2)格式2:L装入地址  这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名:  例1DEBUGtan.pas  -L100  例2DEBUG  -ntan.pas  -L100  须知:L命令只能读取逻辑扇区,不能读取硬盘分区表  L命令中所用的磁盘代码A=00,B=01,C=02……  *M[地址范围][起始地址]数据传送命令  功能:把地址范围内的存储器单元的内容移到起始地址的指定地址中  说明:传送期间,源区和目标区可以部分重叠;传送后源区域数据保持不变。  例:-e1004142434445  -d10010f  08F1:0100414243444562626364-6162636461626364ABCDEBCDABCDABCD  -M100104110  -d110L1F  08F1:0100414243450A2119-200101200796879FABCDE……  *N[盘号:][路径][文件名][扩展名]  功能:定义操作文件名。  说明:可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存CS:5C和CS:6C上,供以后的L和W命令操作之用。我们在运行程序侦错时,在启动DEBUG时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。  例:A:>DEBUGtan.exe  -nyoug.pas  当程序侦错一段时间后,若要把tan.exe装入tan1.pas则-ntanl.pas  *O[端口地址][数据]输出命令  功能:发送字节到指定的输出端口。  例:当我们遇到开机要求输入口令时,可用如下方式取消  -O7010  _O7100  *P[=地址][数据]进程命令  功能:将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。  说明:在执行一条子程序调用指令,循环指令,中断指令或一个重复字符串指令时,发出P命令去执行有关指令,并且返回到要执行的下一条指令。P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则CS:IP所指定程序的地址开始一次运行一条令。  P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。  *Q退出命令。  *R[寄存器]寄存器命令  功能:一,显示单个寄存器的内容,并提供修改功能。二,显示所有寄存器内容,再加上字母标志位状态以及要执行的下一条指令。三,显示8个标志位状态,并提供修改功能。若不想改变则回车即可。  例:-rbx  bx0050  :51  -r  AX=0000BX=0051CX=0000SP=FFEEBP=0000SI=0000DI=0000  DS=0003ES=0CD3SS=0CD3IP=0100NVUPEIPLNZNAOPNC  0CD3:01000FDBOF  若想改变标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。  标志名称设置未设置标志名称设置未设置  滋出OV(未溢出)NV(未溢出)零位ZRNZ(不等于零)  方向DN(减少)UP(增加)辅助进位ACNA(无进位)  中断EI(许可)DI(禁止)奇偶标志PE(偶)PO(奇)  符号NG(负)PL(正)进位CYNC(清除进位)  例:-Rf  NVUPEIPLNZNAPONC:-OVDI←输入值  *S[地址范围][字符串]  功能:在指定的地址范围内查找给定的字符串。  说明:用来指定在地址范围内查找一个字符串,若找到则显示其地址,否则直接显示DEBUG提示符。隐含地址为DS段值。  在此内存可以用(起始地址)(终止地址)或(起始地址)L(长度)的方式来表示,而字符串与数据行则可混合使用:如:02.76"BC"。  例:-d100lof  08F1:0100OF2A41430B314296-FFF0B98AF300B1..AC,1B  -S100lof"AC"  08F1:0102←表示找到,由0102开始,  *T[=地址][指令条数]跟踪命令  功能:逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容。  说明:通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态。  逐条指令跟踪-T[=起始地址]  从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定地址则从当前CS:IP开始执行。  A:>DEBUG  -A  08F1:0100MOVDL,03H  08F1:0102MOVAH,02H  08F1:0104INT21H  08F1:0106INT20H  08F1:0108  -T  AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000  DS=08F1ES=08F1SS=08F1CS=08F11P=0105NVUPEIPLNZPOCY  09F1:0102B402MOVAH,02  若指定起始地址,则T命令会从指定的地址开始跟踪,我们还可以指定跟踪一次所运行指令的个数,用Ctrl+S暂停屏幕的显示,以便观察。  -t=10010;由CS:100开始跟踪10条指令  *U[起始地址]或者[地址范围]  功能:将内存中的内容转换为汇编语句。  说明:反汇编的字节数取决与用户的系统显示形式,以及在U命令中使用的可选项。  (1)从指定地址开始编译,反汇编32个字节  -U[地址]←从CS:100开始,其反汇编32个字节  如果地址被省略,则从一个U命令的最后一条指令的下一条单元开始汇编32个字节。  (2)对指定的存贮范围进行反汇编  -u起始地址终止地址(L长度)  例:-U100109  08F1:0100CD20INT20  08F1:0102FF9F009ACALLFA12[BX+9A00]  08F1:0106F0LOCK  08F1:0107FE1DCALLFAR[DI]  08F1:0109F0LOCK  说明:如指定了范围则整个范围全都会被反编译  *W[地址][盘符:][起始扇区][扇区数]写盘命令  功能:将修改过的数据写到磁盘上。  说明:可以将指定内存地址开始的数据写在磁盘上,可以在没有指定参数,或指定地址参数的情况下,将调试文件写在磁盘上。  在运行W时需设置文件的大小CX或BX寄存器  (1)把数据写入磁盘的指定扇区  -W起始地址驱动器名起始扇区扇区数  (2)把数据写入指定文件中  -W起始地址  例A:>DEBUG  -A  08f1:0100.  .写入程序段  08F1:012A.  -RCX  CX:0000  :2A←写入字节数,即为程序结尾地址减起始地址  -ntan.com←设置文件名,需后缀为com  -w  Wring002Abytes  -q  A:>TAN←即可执行此程序  *"XD"命令:释放EMS内存  例:-XD0001  handle0001deallocatel←释放了  利用XD释放后可再分配  *"XM"命令;把扩充内存上的内存页区映射到主内存区  格式:XMRAM长页码主内存页码句柄  例:-XM320001←把0001号句柄的第3号逻辑页区映射到2号真实页区  Logicalpage03mappedtophysicalpage02  *"XS"命令:显示当前EMS使用情况。  格式-XS  实用debug命令集锦  1. 非物理0磁道坏软盘的修复  此种损坏从软盘盘面上来看并没有明显的划伤和霉变。一般可以恢复其数据,也可是软盘重新在利用。  处理方法如下:  ⅰ.进入debug  ⅱ.取一张引导区没有损坏的好磁盘,插入软驱  -l100001  ⅲ.插入损坏的磁盘到软驱  -w100001  -q  注意:好盘与坏盘容量必须相同  2.物理0磁道坏软盘中的数据读取  对于0磁道损坏的磁盘,一般来说是应该抛弃了,当你也不妨试一试已下方法:  磁化处理:用较强的磁铁在靠近坏磁盘的表面处反复移动,切不可碰到磁盘介质,以免划伤表面,然后在试试格式化。  软盘换面:小心的将磁盘打开,坚磁片与金属芯片分开,方面后再按原来的方法粘在一起即可,在重新格式化。  diskfix:对于diskfix想必大家都用的比较多了,里面的磁盘修复功能很好用的。能修复大多数磁盘表面错误。
2023-07-27 19:10:361

debug模式是什么意思?

DEBUG貌似是一种测试环境吧那个人说的DEBUG就是说你只要新建一个PAL2.TXT文本并在里面添加入下列内容,就可以在仙剑2中开启DEBUG模式了,在该模式下可以使用秘籍,只不过他表达不是很清楚罢了
2023-07-27 19:10:582

Vb中的debug是什么意思?

debug.print是在vb的立即窗口显示你想显示的变量的值。比如debug.printa就是显示变量a的值
2023-07-27 19:11:094

debug怎么用

以eclipse为例,debug的用法:1、首先在一个java文件中设断点,然后debug as,open debug Dialog,然后在对话框中选类后,Run。2、F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over,也就是执行本行代码,跳到下一行。3、F7是跳出函数,F8是执行到最后。4、resume重新开始执行debug,一直运行直到遇到。5、hit count设置执行次数 适合程序中的for循环设置 breakpoint view右键。6、inspect检查运算。执行一个表达式显示执行值。7、watch实时地监视变量的变化。8、field breakpoint当成员变量被读取或修改时暂挂。9、添加method breakpoint进入或离开此方法时暂挂。10、添加Exception breakpoint捕抓到Execption时暂挂。11、variables视图里的变量可以改变变量值,在variables视图选择变量点击右键change value,一次来进行快速调试。说明:复制操作对现有数据的影响。如果新数据没有写入正在被复制的数据块中的地址,则源数据将保持不变。但是,如果目标块已经包含数据(就象它在覆盖副本操作中一样),则将改写该数据。(覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。)。执行覆盖复制操作。m 命令执行目标地址的覆盖复制操作,而不丢失数据。将改写的地址内容首先复制。因此,如果将较高位地址的数据复制到较低位地址,则复制操作从原块的最低位地址开始并向最高位地址进行。反之,如果要将数据从低地址复制到高地址,复制操作从原块的最高地址开始,向最低地址进行。
2023-07-27 19:11:531

如何使用debug

Debug是一种程序,一种调试工具,说白了就是供程序员检查修改问题的工具。用比较正式的话说Debug是DOS,Windows都提供的实模式(也就是8086方式)程序的调试工具。其实严格来说,Debug是在DOS方式下使用的程序,我们在进入Debug前应该先进入DOS。而就目前我们用的计算机来说,进入DOS有以下两种方法:1.重启计算机,进入DOS,此时进入的是实模式的DOS。2.在Windows界面进入DOS,此时进入的是虚拟8086模式的DOS。讲到这里一定有人会问,实模式和虚拟8086模式什么意思?给大家简单讲一下:我们所说的CPU工作模式分为实模式和保护模式两种,而虚拟8086是保护模式下一种任务的运行模式,并非CPU的工作模式。大家平时用的Windows系统是运行在保护模式下的,而计算机在刚启动的时候是在实模式下运行,在启动Windows系统时进入保护模式,除非关闭系统,否则不会回到实模式。如果要一直在实模式下运行,那就得使用DOS等实模式下的操作系统。但是在Windows系统中加载的DOS程序是在虚拟8086模式下运行的。当然这里面涉及了一些DOS的相关知识,由于篇幅原因咱们在这儿就不讲了,感兴趣的可以留言评论一起交流。好了,言归正传,回到Debug上, 这里有一点需要注意,Debug把所有数据都当成字节处理,因此可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以在机器码这个级别追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。值得一提的是,Debug在汇编语言中的应用非常广泛,Debug的命令比较多,大约20多个,和汇编密切相关的有R命令、D命令、E命令、U命令、T命令、A命令等等,当然每个命令作用不同,比如D是查看内存内容,E是修改内存内容,T是执行一条机器指令等等,还有很多,而且都有固定的命名使用格式,这里就不一一讲了,我们今天主要是让大家知道并理解Debug的意思,关于怎么使用它学有余力的可以自行学习研究一下,好了,就到这里吧。
2023-07-27 19:12:081

debug是什么意思啊

debug意思:计算机排除故障。DEBUG是计算机排除故障的意思。马克2号(Harvard Mark II)编制程序的格蕾丝·霍珀(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐地把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的调试操作。DEBUG是一个 DOS 实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。概念:1937年,美国青年霍华德·艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为: 马克1号 (mark1) ,又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·霍珀,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐的把程序故障统称为“臭虫 (BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为排除程序故障的意思。
2023-07-27 19:12:161

请问各位命令debug是什么意思?

是调试解决bug的命令。具体问题自然解决方法不同,自然输入的命令不同。maxdos中的debug  是为maxdos提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段,它的功能包括以下几个方面。  1.直接输入、更改、跟踪、运行汇编程序  2.观察操作系统的内容;  3.查看rombios的内容;  4.观察更改ram内部的设置值;  5.以扇区或文件的方式读写软盘数据。  在debug中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值:  如:用段地址和段内地址表示foff:0100  用段寄存器和段内地址表示csf:0100←cs指向f000  下面列出了常用命令用法。  -a地址从指定地址开始编写小汇编程序,按两个回车键结束编辑  -u地址从指定地址开始反汇编32字节的机器指令,缺省地址则从上一u命令继续  -d始址终址以16进制/asc字符对照方式显示指定内存范围的数据,每行显示10h个字节  -e地址值表用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-e100"v"1f"hello"  -n文件名为后续的l/w命令约定所操作的文件名  -l地址将n命令所指定文件的内容读入到指定内存位置。另,逻辑卷扇区直接读:-l地址逻卷号起始逻扇号扇数  -w地址将bx-cx个字节的内存数据写入n命令指定的文件中。另,逻辑卷扇区直接写:-w地址逻卷号起始逻扇号扇数  -r寄存器名显示并允许修改指定寄存器的值  -g=始址终址执行指定内存中的机器指令程序  -t=地址单步执行机器指令,缺省地址则从上一t命令继续。另,继续跟踪m条指令:-tm  读取c:卷的引导扇区,并保存到boot.1文件中,并简单分析引导程序的前面几条指令:  -l1000201  -nboot.1  -rbx;输入0000  -rcx;输入0200  -w1000  -u1000  读取第一个硬盘上的主引导扇区,并保存到mb.1文件中,在屏幕上显示硬盘分区表数据:  -a100
2023-07-27 19:12:372

电脑上DEBUG是什么意思

debug就是调试的意思,一般就是用来调试程序是否运行正确!。不过,我们普通人遇到,这就是一个程序错误的提示了。
2023-07-27 19:12:462

C中的 Debug是什么意思

bug由甲虫、臭虫引用到程序设计中,表示程序中存在的问题,debug的意思是消灭、消除、排除这些"虫",整体意思就是调试程序找出问题使程序能正确实现功能。
2023-07-27 19:12:561

debug是干什么的啊

bug一般指电脑程序中的错误,debug用来去处错误
2023-07-27 19:13:172

如何高效debug

进入debug模式方法步骤:1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下。2, F5键与F6键均为单步调试。F5是step into,也就是进入本行代码中执行,F6是step over也就是执行本行代码,跳到下一行。3,F7是跳出函数4,F8是执行到最后。1.Step Into (also F5) 跳入2.Step Over (also F6) 跳过。3.Step Return (also F7) 执行完当前method,然后return跳出此method4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)5.resume 重新开始执行debug,一直运行直到遇到breakpoint6.hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)。7.inspect 检查 运算。执行一个表达式显示执行值。8.watch 实时地监视变量的变化。9.我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint.10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂。11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)。12.添加Exception breakpoint 捕抓到Execption时暂挂(待续...)。断点属性:1.hit count 执行多少次数后暂挂 用于循环。2.enable condition 遇到符合你输入条件(为ture改变时)就暂挂。3.suspend thread 多线程时暂挂此线程。4.suspend VM 暂挂虚拟机。13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value.一次来进行快速调试。
2023-07-27 19:13:341

如何使用Debug程序?

Debug Debug原意是杀虫子。这里是机器调试工具。 他的用处有很多 启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。 Debug [[drive:][path] filename [parameters]] 参数 [drive:][path] filename 指定要测试的可执行文件的位置和名称。 parameters 指定要测试的可执行文件所需要的任何命令行信息。 ++ 说明 使用 Debug 命令但不指定要测试的文件 如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。 Debug 命令 以下是 Debug 命令列表: ? 显示 Debug 命令列表。 a 汇编 8086/8087/8088 记忆码。 c 比较内存的两个部分。 d 显示部分内存的内容。 e 从指定地址开始,将数据输入到内存。 f 使用指定值填充一段内存。 g 运行在内存中的可执行文件。 h 执行十六进制运算。 i 显示来自特定端口的 1 字节值。 l 将文件或磁盘扇区内容加载到内存。 m 复制内存块中的内容 /n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。 o 向输出端口发送 1 个字节的值。 p 执行循环、重复的字符串指令、软件中断或子例程。 q 停止 Debug 会话。 r 显示或改变一个或多个寄存器。 s 在部分内存中搜索一个或多个字节值的模式。 t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。 u 反汇编字节并显示相应的原语句。 w 将被测试文件写入磁盘。 xa 分配扩展内存。 xd 释放扩展内存。 xm 映射扩展内存页。 xs 显示扩展内存的状态。 分隔命令参数 所有 Debug 命令都接受参数,除了 q 命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价: dcs:100 110 d cs:100 110 d,cs:100,110 指定有效地址项 Debug 命令中的 address 参数指定内存位置。Address 是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u 和 w 命令的默认段是 CS。所有其他命令的默认段是 DS。所有数值均为十六进制格式。 有效地址如下: CS:0100 04BA:0100 在段名和偏移量之间要有冒号。 指定有效范围项 Debug 命令中的 range 参数指定了内存的范围。可以为 range 选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由 l 表示)。 例如,下面的两个语法都可以指定从 CS:100 开始的 16 字节范围: cs:100 10f cs:100 l 10 ++ Debug 子命令 选择 Debug 命令以获得详细信息。 Debug:A(汇编) Debug:C(比较) Debug(转储) Debug:E(键入) Debug:F(填充) Debug:G(转向) Debug:H(十六进制) Debug:I(输入) Debug:L(加载) Debug:M(移动) Debug:N(名称) Debug:O(输出) Debug:P(执行) Debug:Q(退出) Debug:r(寄存器) Debug:s(搜索) Debug:T(跟踪) Debug:U(反汇编) Debug:W(写入) Debug:XA(分配扩展内存) 很高兴回答楼主的问题 如有错误请见谅
2023-07-27 19:13:411

JAVA中的Debug如何使用

这个是断点执行, 程序会在你打断点的地方开始逐行执行,以便你查看各行代码变量和属性的变化,新手还是用System.out.print()比较好,简单直接
2023-07-27 19:14:367

DEBUG和_DEBUG有什么区别

这个就是一个宏定义名称而已,以后会对应着 #if DEBUG 或是#if _DEBUG 等判断语句,从字面上理解一般是用于测试目的。更改了,可能会影响到你的测试语句执行的流程。若是,没有其他地方用到DEBUG或是_DEBUG ,你写哪个编译都能通过(因为没有用),注释掉应该也可以通过。一般在头文件中,会以以下形式防止声明冲突:#ifndef __UART0_H#define __UART0_H。。。。。#enif同样,__UART0_H只是个名称,用UART0_H等也可以。你问的太笼统了,贴上大概的程序,说明运行环境,回答者可以更好的参考。
2023-07-27 19:15:282

日志的debug模式怎么用的

应该有log4j.properties 这样的日志控制类配置文件的,修改下日志打印级别,调整到info级别,就不会打印出debug级别的日志了。 ERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失INFO 为一般要显示的信息,比如登录登出DEBUG 为程序的调试信息
2023-07-27 19:15:352

为什么我的电脑会出现debug

电脑主板故障DEBUG代码 故障代码含义速查表 DEBUG代码 查表必读:(注意事项) 1、特殊代码“00”和“FF”及其它起始码有三种情况出现: ①已由一系列其它代码之后再出现:“00”或“FF”,则主板OK。 ②如果将CMOS中设置无错误,则不严重的故障不会影响BIOS自检的继续,而最终出现“00”或“FF”。 ③一开机就出现“00”或“FF”或其它起始代码并且不变化则为板没有运行起来。 2、本表是按代码值从小到大排序,卡中出码顺序不定。 3、未定义的代码表中未列出。 4、对于不同BIOS(常用的AMI、Award、Phoenix)用同一代码所代表的意义有所不同,因此应弄清您所检测的电脑是属于哪一种类型的BIOS,您可查问你的电脑使用手册,或从主板上的BIOS芯片上直接查看,也可以在启动屏幕时直接看到。 5、有少数主板的PCI槽只有前一部分代码出现,但ISA槽则有完整自检代码输出。且目前已发现有极个别原装机主板的ISA槽无代码输出,而PCI槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同PCI槽,有的槽有完整代码送出,如DELL810主板只有靠近CPU的一个PCI槽有完整的代码显示,一直变化到“00”或“FF”,而其它槽走到“38”则不继续变化。 6、复位信号所需时间ISA与PCI不一定同步,故有可能ISA开始出代码,但PCI的复位灯还不熄,故PCI代码停在起始码上。
2023-07-27 19:15:431

debug文件夹有什么用?能删吗?

debug文件夹,是VC软件编写的程序在执行时,自动新建的一个文件夹,可以删除,但在下载执行代码的时候也会产生Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web应用程序。扩展资料:Visual Studio 2012 Ultimate是一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,Visual Studio 2012 Ultimate 都能让您针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。Visual Studio Test Professional 2012是质量保障团队的专用工具集,可简化测试规划和手动测试执行过程。Test Professional 与开发人员的 Visual Studio 软件配合运行,可在整个应用程序开发生命周期内实现开发人员和测试人员之间的高效协作。
2023-07-27 19:15:521

怎样在dos用debug调试程序

ebug调试程序是以DOS外部命令程序形式提供的,它的文件名为Debug.com 。如果你使用的是windows系统,那么如果是32位的电脑,一般都自带有debug调试工具,而64位的一般没有自带这个工具,需要自己进行安装。XP系统暂时不作介绍,读者可以参照我介绍的方法进行尝试。首先,点开windows开始图标。在收索框里输入cmd,注意是cmd,不是debug,虽然输入debug也可以,但是在后续的程序调试中会出现一些问题。输入cmd并按回车后即可打开调试工具了。若直接输入debug打开,工作界面与输入cmd打开有所不同,建议还是通过cmd打开debug。打开cmd程序后,输入debug,大小写均一样,习惯用大写,为方便操作,后续的操作我一律使用小写。输入之后按回车,会出现下图所示的工作框。在debug窗口就可以进行汇编语句的编写和调试了。先在窗口输入A,然后回车,系统自动分配到内存,如本图所示,其中13F1是寄存器的段基址,冒号后面的0100是偏移地址,对应的物理地址是13F1100,即程序在此地址下开始存储。然后输入汇编语句,举一个简单的例子,将数据2341H送入寄存器ax和cx中。记住输入的数据在汇编是已经默认是十六进制,不需要在加h,否则会显示错误。
2023-07-27 19:16:201

debug接口该接什么线

Debug接口是调试接口。Debug接口是调试接口,可以用来接主板诊断卡或者其他的主板调试设备。
2023-07-27 19:16:271

Debug Error是什么意思

debug就是修补漏洞的意思error就是错误的意思也就是说你的系统运行自动修复漏洞是出错``只有重安装游戏!
2023-07-27 19:16:524

缺氧debug模式开启方法:1.在游戏根目录创建一个debug_enable.txt的空文本文档,重新进游戏之后按backspace按钮,就开心的加各种资源了。2.先选择一种资源,填写质量,温度,再点print按钮,再在游戏场景的空隙出圈一下添加位置范围就可以了。3.需要注意的是温度是K为单位的,273.15开尔文=0℃,[°C]=[K]273.15。所以一般填290,300左右。按ctrl+f4是开启瞬间建造模式。4.这个模式下挖,建造,科技,机器开关都是瞬间刷的。
2023-07-27 19:17:011

USB Debug模式什么意思

USB调试模式是 Android 提供的一个用于开发工作的功能,使用该功能可在计算机和 Android 设备之间复制数据、在移动设备上安装应用程序、读取日志数据等等。默认情况下,USB 调试模式是关闭的,所以需要手动打开它;USB调试用途广泛,各种手机助手软件行使正常功能必须开启USB调试模式才能正常使用。只有开启了USB调试模式,与电脑连接时才能进行下载软件,一键root,备份联系人等功能。扩展资料:由于开启usb调试模式比较麻烦,所以有一些开发者为操作更友好开发了usb调试模式开启工具,目前市面上比较常见的是金山手机控usb调试模式开启工具。在USB调试模式下,手机只要连接电脑,就相当于获得了最高控制权,读取联系人、短信、手机文件都非常方便。而且任何锁屏都不堪一击,只需下载一个解锁软件,或者root后删除源文件,锁屏就轻松破解了。这样手机中的信息就会泄露。所以建议在与电脑使用结束后,及时关闭USB调试,以保障信息安全。
2023-07-27 19:17:081

debug是甚莫意思?

DEBUG是调试的意思,一般在一些生成程序或者EXE的编程软件中会产生这个文件参考资料http://www.99d.com/special/zw/zt.html
2023-07-27 19:17:241

debug是什么意思啊 debug解释

1、DEBUG是计算机排除故障的意思。马克2号(Harvard Mark II)编制程序的格蕾丝·霍珀(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐地把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的调试操作。 2、概念:1937年,美国青年霍华德·艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·霍珀,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为排除程序故障的意思。
2023-07-27 19:17:431

debug什么意思

DEBUG是计算机排除故障的意思,DEBUG在windows系统中也是极其重要的调试操作。马克2号(Harvard Mark II)编制程序的格蕾丝·霍珀(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍珀诙谐地把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。如DOS系统中的调试程序,程序名称就叫DEBUG。DEBUG在windows系统中也是极其重要的调试操作。调试是软件开发过程中非常重要的一部分,因为它能够帮助程序员找出并解决程序中的问题,确保程序能够按照预期的方式运行。计算机调试的操作步骤:1、识别问题:在程序中出现错误时,程序员需要使用调试工具来跟踪代码并找出错误的位置和原因。这通常需要仔细检查代码,并使用调试器等工具来执行代码并查看其状态。2、修复问题:一旦程序员找到了错误,就需要对代码进行修改,以便修复问题。这可能涉及更改变量的值,添加或删除代码行,或更改程序的逻辑。3、测试修复:一旦程序员对代码进行了修改,就需要测试修复是否有效。这可能涉及重新运行程序,并检查程序是否仍然存在错误。如果错误已经被修复,程序应该能够按照预期的方式运行。4、迭代修复:如果程序仍然存在错误,程序员需要继续迭代修复过程,直到程序能够按照预期的方式运行为止。这可能需要多次修改代码和测试修复,直到问题被完全解决。
2023-07-27 19:17:501

debug 是什么意思?在电脑方面~?

电脑上debug是“调试”的意思。它是一种计算机程序,来源于一个叫葛丽丝·霍波(gracehopper)的美国计算机科学家,有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(bug)”,把排除程序故障叫debug,而这奇怪的“称呼”,就成为后来计算机领域的专业行话。1、在dos系统中的调试程序,程序名称就叫debug。2、在windows系统中有debug调试工具。3、在程序开发软件类中,有专门debug调试菜单
2023-07-27 19:18:251

debug命令的详细用法

debug命令  DEBUG命令参数详解  DEBUG是一个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数据的范围,读写文件与磁盘扇区。  它的功能包括以下几个方面。  1,直接输入,更改,跟踪,运行汇编语言源程序;  2,观察操作系统的内容;  3,查看ROMBIOS的内容;  4,观察更改RAM内部的设置值;  5,以扇区或文件的方式读写软盘数据  DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEBUG可以识别两种数据:十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。  在DEBUG中输入数据有两种方法:提示方法和非提示方法。在用提示方法时,用户可以输入要求输入数据的命令,后跟数据所要输入的地址。然后用户就可以看到该地之中已有内容及一个冒号提示符。此时用户可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到短横(-)提示符。在运用非提示方法时,用户可以输入要输入数据的内存地址以及要输入的字节。但与使用字处理程序或正文编辑程序时不一样,在使用DEBUG时,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。  在使用DEBUG时可以只涉及内存中的数据,从而一般都要指定所要处理的内存地址,地址的输入格式是:[段地址]:[位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,这一专用区域用于建立DOS与程序之间的联系。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。  讲到这里大家应该对DEBUG有了初步的了解,但是光知道这些可不够,接下来我来讲讲DEBUG的命令格式和命令。当输入  DEBUG  调用了DEBUG程序,就会出现一个短横提示符,用户就可以在这一短横后输入DEBUG程序的命令。有些DEBUG命令会显示一个内存地址并产生一个作为提示符的冒号。在这些提示符后,用户可以输入一个新值以改变所显示位置原来的值。如果用户不输入一个新值而是按下回车或CTRL+C,那么原来的值不会改变。  一般用不着把地址和命令名字分开。例如,用转储命令D察看100号地址的数据,那么这个命令可以用以下任一种形势输入:  D100  D100  D。100  D,100  如果输入的命令中出现了错误,DEBUG将在下一行对着错误的位置标记出来,例如:  -s100d12  ^Error  DEBUG的命令及功能如下:  *A[地址]汇编命令  功能:将指令直接汇编成机器码输入到内存中。  说明:用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制,用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改语句被汇编到CS:0100区域。  例A:>DEBUG  -a0100  08F1:0100MOVAH,09  08F1:0102MOVDX,109  08F1:0105INT21H;  08F1:0107INT21H;debugtan.exe  -u:反编译成汇编语言程码  …………  ..  -g100指定中断点  Programterminatednormally:  另外:我们在DEBUG下可运行一个文件.EXE  如:A:>debugtan.exe  -g  即可开始运行此程序,和在DOS下完全一样:  *H[数值][数值]十六进制算术运算命令  功能:分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。  说明:替用户完成简单的十六进制数的运算。  例:-h45385623  9B5BEF15  *I[端口地址]  功能:从指定的端口输入并显示(用十六进制)的一个字节。  例:-i70  F9;显示70端口的内容为F9  I命令可由80X86的64K个端口取数据  *L[地址][盘号:][逻辑扇区号][扇区数]  功能:将一个文件或盘的绝对扇区装入存储器。  说明:单个L命令能够装入的最大扇区数是80H,其中盘号0,1,2,3……分别代表A,B,C,……出现读盘错,显示错误信息。  (1)格式1.L装入地址驱动器名起始扇区/扇区数  这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。  例:-L100001,将A驱的0扇区装至CS:100上  -d10010f  08F1:0100EB3C903C53444F53-362E323202010100.L,MSDOS6.22……  (2)格式2:L装入地址  这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名:  例1DEBUGtan.pas  -L100  例2DEBUG  -ntan.pas  -L100  须知:L命令只能读取逻辑扇区,不能读取硬盘分区表  L命令中所用的磁盘代码A=00,B=01,C=02……  *M[地址范围][起始地址]数据传送命令  功能:把地址范围内的存储器单元的内容移到起始地址的指定地址中  说明:传送期间,源区和目标区可以部分重叠;传送后源区域数据保持不变。  例:-e1004142434445  -d10010f  08F1:0100414243444562626364-6162636461626364ABCDEBCDABCDABCD  -M100104110  -d110L1F  08F1:0100414243450A2119-200101200796879FABCDE……  *N[盘号:][路径][文件名][扩展名]  功能:定义操作文件名。  说明:可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存CS:5C和CS:6C上,供以后的L和W命令操作之用。我们在运行程序侦错时,在启动DEBUG时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。  例:A:>DEBUGtan.exe  -nyoug.pas  当程序侦错一段时间后,若要把tan.exe装入tan1.pas则-ntanl.pas  *O[端口地址][数据]输出命令  功能:发送字节到指定的输出端口。  例:当我们遇到开机要求输入口令时,可用如下方式取消  -O7010  _O7100  *P[=地址][数据]进程命令  功能:将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。  说明:在执行一条子程序调用指令,循环指令,中断指令或一个重复字符串指令时,发出P命令去执行有关指令,并且返回到要执行的下一条指令。P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则CS:IP所指定程序的地址开始一次运行一条令。  P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。  *Q退出命令。  *R[寄存器]寄存器命令  功能:一,显示单个寄存器的内容,并提供修改功能。二,显示所有寄存器内容,再加上字母标志位状态以及要执行的下一条指令。三,显示8个标志位状态,并提供修改功能。若不想改变则回车即可。  例:-rbx  bx0050  :51  -r  AX=0000BX=0051CX=0000SP=FFEEBP=0000SI=0000DI=0000  DS=0003ES=0CD3SS=0CD3IP=0100NVUPEIPLNZNAOPNC  0CD3:01000FDBOF  若想改变标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。  标志名称设置未设置标志名称设置未设置  滋出OV(未溢出)NV(未溢出)零位ZRNZ(不等于零)  方向DN(减少)UP(增加)辅助进位ACNA(无进位)  中断EI(许可)DI(禁止)奇偶标志PE(偶)PO(奇)  符号NG(负)PL(正)进位CYNC(清除进位)  例:-Rf  NVUPEIPLNZNAPONC:-OVDI←输入值  *S[地址范围][字符串]  功能:在指定的地址范围内查找给定的字符串。  说明:用来指定在地址范围内查找一个字符串,若找到则显示其地址,否则直接显示DEBUG提示符。隐含地址为DS段值。  在此内存可以用(起始地址)(终止地址)或(起始地址)L(长度)的方式来表示,而字符串与数据行则可混合使用:如:02.76"BC"。  例:-d100lof  08F1:0100OF2A41430B314296-FFF0B98AF300B1..AC,1B  -S100lof"AC"  08F1:0102←表示找到,由0102开始,  *T[=地址][指令条数]跟踪命令  功能:逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容。  说明:通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态。  逐条指令跟踪-T[=起始地址]  从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定地址则从当前CS:IP开始执行。  A:>DEBUG  -A  08F1:0100MOVDL,03H  08F1:0102MOVAH,02H  08F1:0104INT21H  08F1:0106INT20H  08F1:0108  -T  AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000  DS=08F1ES=08F1SS=08F1CS=08F11P=0105NVUPEIPLNZPOCY  09F1:0102B402MOVAH,02  若指定起始地址,则T命令会从指定的地址开始跟踪,我们还可以指定跟踪一次所运行指令的个数,用Ctrl+S暂停屏幕的显示,以便观察。  -t=10010;由CS:100开始跟踪10条指令  *U[起始地址]或者[地址范围]  功能:将内存中的内容转换为汇编语句。  说明:反汇编的字节数取决与用户的系统显示形式,以及在U命令中使用的可选项。  (1)从指定地址开始编译,反汇编32个字节  -U[地址]←从CS:100开始,其反汇编32个字节  如果地址被省略,则从一个U命令的最后一条指令的下一条单元开始汇编32个字节。  (2)对指定的存贮范围进行反汇编  -u起始地址终止地址(L长度)  例:-U100109  08F1:0100CD20INT20  08F1:0102FF9F009ACALLFA12[BX+9A00]  08F1:0106F0LOCK  08F1:0107FE1DCALLFAR[DI]  08F1:0109F0LOCK  说明:如指定了范围则整个范围全都会被反编译  *W[地址][盘符:][起始扇区][扇区数]写盘命令  功能:将修改过的数据写到磁盘上。  说明:可以将指定内存地址开始的数据写在磁盘上,可以在没有指定参数,或指定地址参数的情况下,将调试文件写在磁盘上。  在运行W时需设置文件的大小CX或BX寄存器  (1)把数据写入磁盘的指定扇区  -W起始地址驱动器名起始扇区扇区数  (2)把数据写入指定文件中  -W起始地址  例A:>DEBUG  -A  08f1:0100.  .写入程序段  08F1:012A.  -RCX  CX:0000  :2A←写入字节数,即为程序结尾地址减起始地址  -ntan.com←设置文件名,需后缀为com  -w  Wring002Abytes  -q  A:>TAN←即可执行此程序  *"XD"命令:释放EMS内存  例:-XD0001  handle0001deallocatel←释放了  利用XD释放后可再分配  *"XM"命令;把扩充内存上的内存页区映射到主内存区  格式:XMRAM长页码主内存页码句柄  例:-XM320001←把0001号句柄的第3号逻辑页区映射到2号真实页区  Logicalpage03mappedtophysicalpage02  *"XS"命令:显示当前EMS使用情况。  格式-XS  实用debug命令集锦  1. 非物理0磁道坏软盘的修复  此种损坏从软盘盘面上来看并没有明显的划伤和霉变。一般可以恢复其数据,也可是软盘重新在利用。  处理方法如下:  ⅰ.进入debug  ⅱ.取一张引导区没有损坏的好磁盘,插入软驱  -l100001  ⅲ.插入损坏的磁盘到软驱  -w100001  -q  注意:好盘与坏盘容量必须相同  2.物理0磁道坏软盘中的数据读取  对于0磁道损坏的磁盘,一般来说是应该抛弃了,当你也不妨试一试已下方法:  磁化处理:用较强的磁铁在靠近坏磁盘的表面处反复移动,切不可碰到磁盘介质,以免划伤表面,然后在试试格式化。  软盘换面:小心的将磁盘打开,坚磁片与金属芯片分开,方面后再按原来的方法粘在一起即可,在重新格式化。  diskfix:对于diskfix想必大家都用的比较多了,里面的磁盘修复功能很好用的。能修复大多数磁盘表面错误。
2023-07-27 19:18:331

debug命令有什么作用?如何使用?

DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。一、DEBUG程序的调用 在DOS的提示符下,可键入命令: C:DEBUG [D:][PATH][FILENAME[.EXT]][PARM1][PARM2] 其中,文件名是被调试文件的名字。如用户键入文件,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。 在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。二、DEBUG的主要命令 1、显示存储单元的命令D(DUMP),格式为: _D[address]或_D[range] 例如,按指定范围显示存储单元内容的方法为: -d100 12018E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G...18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ..;..h..M PQVW. 718E4:0120 8B 其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。2、修改存储单元内容的命令有两种。 ·输入命令E(ENTER),有两种格式如下:第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为: -E address[list]例如,-E DS:100 F3"XYZ"8D 其中F3,"X","Y","Z"和各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。 第二种格式则是采用逐个单元相继修改的方法。命令格式为: -E address例如,-E DS:100 则可能显示为: 18E4:0100 89.- 如果需要把该单元的内容修改为78,则用户可以直接键入78,再按“空格”键可接着显示下一个单元的内容,如下: 18E4:0100 89.78 1B.- 这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该命令为止。 ·填写命令F(FILL),其格式为: -F range list例如:-F 4BA:0100 5 F3"XYZ"8D 使04BA:0100~0104单元包含指定的五个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。3)检查和修改寄存器内容的命令R(register),它有三种格式如下: ·显示CPU内所有寄存器内容和标志位状态,其格式为: -R例如,-r AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC 18E4:0100 C70604023801 MOV WORD PTR [0204],0138 DS:0204=0000 ·显示和修改某个寄存器内容,其格式为: -R register name例如,键入 -R AX 系统将响应如下: AX F1F4 :即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如: -R bx BX 0369 :059F则把BX寄存器的内容修改为059F。 ·显示和修改标志位状态,命令格式为: -RF系统将响应,如: OV DN EI NG ZR AC PE CY- 此时,如不修改其内容可按ENTER键,否则,可键入欲修改的内容,如: OV DN EI NG ZR AC PE CY-PONZDINV 即可,可见键入的顺序可以是任意的。4)运行命令G,其格式为: -G[=address1][address2[address3…]] 其中,地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。5)跟踪命令T(Trace),有两种格式: ·逐条指令跟踪 -T [=address] 从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。如未指定地址则从当前的CS:IP开始执行。 ·多条指令跟踪 -T [=address][value] 从指定地址起执行n条指令后停下来,n由value指定。6)汇编命令A(Assemble),其格式为: -A[address] 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。7)反汇编命令U(Unassemble)有两种格式。 ·从指定地址开始,反汇编32个字节,其格式为: -U[address]例如: -u100 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 18E4:0106 C70606020002 MOV WORD PTR[0206],0200 18E4:010C C70606020202 MOV WORD PTR[0208],0202 18E4:0112 BBO4O2 MOV BX,0204 18E4:0115 E80200 CALL 011A 18E4:0118 CD20 INT 20 18E4:011A 50 PUSH AX 18E4:011B 51 PUSH CX 18E4:011C 56 PUSH SI 18E4:011D 57 PUSH DI 18E4:011E 8B37 MOV SI,[BX]如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。 ·对指定范围内的存储单元进行反汇编,格式为: -U[range]例如: -u100 10c 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 18E4:0106 C70606020002 MOV WORD PTR[0206],0200 18E4:010C C70606020202 MOV WORD PTR[0208],0202或 -u100 112 18E4:0100 C70604023801 MOV WORD PTR[0204],0138 18E4:0106 C70606020002 MOV WORD PTR[0206],0200 18E4:010C C70606020202 MOV WORD PTR[0208],0202 可见这两种格式是等效的。8)命名命令N(Name),其格式为: -N filespecs [filespecs]命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W命令把文件装入存盘。filespecs的格式可以是:[d:][path] filename[.ext]例如, -N myprog -L -可把文件myprog装入存储器。9)装入命令(Load),有两种功能。 ·把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。其格式为: -L[address[drive sector sector] ·装入指定文件,其格式为: -L[address]此命令装入已在CS:5CH中格式化了文件控制块所指定的文件。如未指定地址,则装入CS:0100开始的存储区中。10)写命令W(Write),有两种功能。 ·把数据写入磁盘的指定扇区。其格式为: -W address drive sector sector ·把数据写入指定的文件中。其格式为: -W[address]此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中。如未指定地址则数据从CS:0100开始。要写入文件的字节数应先放入BX和CX中。11)退出DEBUG命令Q(Quit),其格式为: -Q它退出DEBUG,返回DOS。本命令并无存盘功能,如需存盘应先使用W命令。
2023-07-27 19:18:441

debug命令怎么用?是干什么的?

debug是一个隐藏的对象,用于进行和调试相关的工作。有点类似于C#中的控制台。在调试程序的时候使用Debug会很方便。比如Debug.Printa会在VB界面下方的“立即”窗口中显示出a的值,这样你就不必修改程序的界面来显示a或者中断程序来查看a。再比如当你在某处需要a>5的时候,你可以加一句Debug.Assert(a>5)当a<=5的时候程序执行到此处就会暂停,然后你就可以查看a为何没有满足a>5的条件,从而找到代码错误。Debug的一个重要优点是,当你把程序编译成成品EXE之后,这些Debug语句都被剔除,也就是说你在程序中加入Debug语句并不会影响最终成品的效率和界面。Debug只是为调试人员存在的。
2023-07-27 19:18:542

通常大家说的“bug”和“debug”都指什么?

原意是“虫子”和“捉虫子”。这个词,在计算机行业,就应该译成“排除故障”。译成“调试”,就更符合中文的文法。DEBUG.EXE 这个程序,可以译成“调试软件”。
2023-07-27 19:19:022

DOS中debug是什么命令???有什么用?

debug是dos中的一个外部命令,从dos 1.0起就带有此命令,因此可见此命令的重要性了。虽然此命令的功能非常强大,可以解决许多问题,可是对许多人来说,尤其是初学者来说,却非常不易掌握。因此,现将debug的命令详细介绍一番,以让大家知道它的使用。 debug:a(汇编)直接将 8086/8087/8088 记忆码合并到内存。该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。a [address]参数address指定键入汇编语言指令的位置。对 address 使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a 将在它上次停止处开始汇编。有关将数据输入到指定字节中的信息,请单击“相关主题”列表中的 debug e(键入)。有关反汇编字节的信息,请单击“相关主题”列表中的 debug u(反汇编)。说明使用记忆码段的替代记忆码为 cs:、ds:、es: 和 ss:。远程返回的记忆码是 retf。字符串处理的记忆码必须明确声明字符串大小。例如,使用 movsw 可以移动 16 位的字串,使用 movsb 可以移动 8 位字节串。汇编跳转和调用汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用 near 或 far 前缀可以替代这样的跳转或调用,如下例所示:-a0100:05000100:0500 jmp 502 ; a 2-byte short jump0100:0502 jmp near 505 ; a 3-byte near jump0100:0505 jmp far 50a ; a 5-byte far jump可以将 near 前缀缩写为 ne。区分字和字节内存位置当某个操作数可以引用某个字内存位置或者字节内存位置时,必须用前缀 word ptr 或者前缀 byte ptr 指定数据类型。可接受的缩写分别是 wo 和 by。以下范例显示两种格式:dec wo [si]neg byte ptr [128]指定操作数debug 使用包括在中括号 ([ ]) 的操作数引用内存地址的习惯用法。这是因为另一方面 debug 不能区分立即操作数和内存地址的操作数。以下范例显示两种格式:mov ax,21 ; load ax with 21hmov ax,[21] ; load ax with the; contents of; memory location 21h使用伪指令使用 a 命令提供两个常用的伪指令:db 操作码,将字节值直接汇编到内存,dw 操作码,将字值直接汇编到内存。以下是两个伪指令的范例:db 1,2,3,4,"this is an example"db "this is a quotation mark:""db "this is a quotation mark:""dw 1000,2000,3000,"bach"范例a 命令支持所有形式的间接注册命令,如下例所示:add bx,34[bp+2].[si-1]pop [bp+di]push [si] )还支持所有操作码同义词,如下例所示:loopz 100loope 100ja 200jnbe 200对于 8087 操作码,必须指定 wait 或 fwait 前缀,如下例所示:fwait fadd st,st(3) ; this line assembles; an fwait prefixdebug:c(比较)比较内存的两个部分。c range address参数range指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。有关有效的 range 值的信息,请单击“相关主题”列表中的“debug 说明”。address指定要比较的第二个内存区域的起始地址。有关有效 address 值的信息,请单击“相关主题”列表中的“debug 说明”。说明如果 range 和 address 内存区域相同,debug 将不显示任何内容而直接返回到 debug 提示符。如果有差异,debug 按如下格式显示:address1 byte1 byte2 addess22 of a total ff ems handles have been allocated 参考资料: http://www.x5dj.com/GroupForum/ThreadDetail.aspx?GroupID=2268&ThreadID=143012&Page=0
2023-07-27 19:19:111

请问各位命令debug是什么意思

是调试解决bug的命令。具体问题自然解决方法不同,自然输入的命令不同。maxdos中的debug  是为maxdos提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段,它的功能包括以下几个方面。  1.直接输入、更改、跟踪、运行汇编程序  2.观察操作系统的内容;  3.查看rombios的内容;  4.观察更改ram内部的设置值;  5.以扇区或文件的方式读写软盘数据。  在debug中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值:  如:用段地址和段内地址表示foff:0100  用段寄存器和段内地址表示csf:0100←cs指向f000  下面列出了常用命令用法。  -a地址从指定地址开始编写小汇编程序,按两个回车键结束编辑  -u地址从指定地址开始反汇编32字节的机器指令,缺省地址则从上一u命令继续  -d始址终址以16进制/asc字符对照方式显示指定内存范围的数据,每行显示10h个字节  -e地址值表用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-e100"v"1f"hello"  -n文件名为后续的l/w命令约定所操作的文件名  -l地址将n命令所指定文件的内容读入到指定内存位置。另,逻辑卷扇区直接读:-l地址逻卷号起始逻扇号扇数  -w地址将bx-cx个字节的内存数据写入n命令指定的文件中。另,逻辑卷扇区直接写:-w地址逻卷号起始逻扇号扇数  -r寄存器名显示并允许修改指定寄存器的值  -g=始址终址执行指定内存中的机器指令程序  -t=地址单步执行机器指令,缺省地址则从上一t命令继续。另,继续跟踪m条指令:-tm  读取c:卷的引导扇区,并保存到boot.1文件中,并简单分析引导程序的前面几条指令:  -l1000201  -nboot.1  -rbx;输入0000  -rcx;输入0200  -w1000  -u1000  读取第一个硬盘上的主引导扇区,并保存到mb.1文件中,在屏幕上显示硬盘分区表数据:  -a100
2023-07-27 19:19:321

debug命令怎么用?是干什么的?

debug是一个dos实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。
2023-07-27 19:19:444

Vb中的debug是什么意思?

debug是一个隐藏的对象,用于进行和调试相关的工作。有点类似于C#中的控制台。在调试程序的时候使用Debug会很方便。比如Debug.Printa会在VB界面下方的“立即”窗口中显示出a的值,这样你就不必修改程序的界面来显示a或者中断程序来查看a。再比如当你在某处需要a>5的时候,你可以加一句Debug.Assert(a>5)当a<=5的时候程序执行到此处就会暂停,然后你就可以查看a为何没有满足a>5的条件,从而找到代码错误。Debug的一个重要优点是,当你把程序编译成成品EXE之后,这些Debug语句都被剔除,也就是说你在程序中加入Debug语句并不会影响最终成品的效率和界面。Debug只是为调试人员存在的。
2023-07-27 19:20:051

WINDOWS里的HELP和DEBUG是什么文件能删吗?

分类: 电脑/网络 解析: HELP,顾名思义,就是帮助文件,如果你系统玩得很熟的话,可以删。 debug是dos中的一个外部命令,从dos 1.0起就带有此命令,因此可见此命令的重要性了。虽然此命令的功能非常强大,可以解决许多问题,可是对许多人来说,尤其是初学者来说,却非常不易掌握。 这两个文件就最好不要删了。
2023-07-27 19:20:121

debug常用命令

以下是 Debug 命令列表: ? 显示 Debug 命令列表。 a 汇编 8086/8087/8088 记忆码。 c 比较内存的两个部分。 d 显示部分内存的内容。 e 从指定地址开始,将数据输入到内存。 f 使用指定值填充一段内存。 g 运行在内存中的可执行文件。 h 执行十六进制运算。 i 显示来自特定端口的 1 字节值。 l 将文件或磁盘扇区内容加载到内存。 m 复制内存块中的内容 /n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。 o 向输出端口发送 1 个字节的值。 p 执行循环、重复的字符串指令、软件中断或子例程。 q 停止 Debug 会话。 r 显示或改变一个或多个寄存器。 s 在部分内存中搜索一个或多个字节值的模式。 t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。 u 反汇编字节并显示相应的原语句。 w 将被测试文件写入磁盘。 xa 分配扩展内存。 xd 释放扩展内存。 xm 映射扩展内存页。 xs 显示扩展内存的状态。
2023-07-27 19:20:201

"debug"在电脑中是什么意思?有什么作用啊?请说明白点!非常感谢!!!

调试系统错误
2023-07-27 19:20:423

怎样打开自己电脑上的debug

用:windows+R ,在运行里面输入 cmd 就可以。
2023-07-27 19:20:522

什么是.debug文件?

太详细了 没有补充了!
2023-07-27 19:21:293

debug在桌面怎么删除?

直接找到文件的位置然后删除就可以了
2023-07-27 19:21:382

DEBUG到底有什么用啊?

DOS中的Debug:[ 是为DOS提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段,它的功能包括以下几个方面。 1. 直接输入、更改、跟踪、运行汇镅栽闯绦颍华 2. 观察操作系统的内容; 3. 查看ROM BIOS的内容; 4. 观察更改RAM内部的设置值; 5. 以扇区或文件的方式读写软盘数据。 在DEBUG中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值: 如:用段地址和段内地址表示FOFF:0100 用段寄存器和段内地址表示CSF:0100←CS指向F000 下面列出了常用命令用法。 -A 地址 从指定地址开始编写小汇编程序,按两个回车键结束编辑 -U 地址 从指定地址开始反汇编32字节的机器指令,缺省地址则从上一U命令继续 -D 始址 终址 以16进制/Asc字符对照方式显示指定内存范围的数据,每行显示10H个字节 -E 地址 值表 用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-E 100 "v" 1F "hello" -N 文件名 为后续的L/W命令约定所操作的文件名 -L 地址 将N命令所指定文件的内容读入到指定内存位置。另,逻辑卷扇区直接读:-L 地址 逻卷号 起始逻扇号 扇数 -W 地址 将BX-CX个字节的内存数据写入N命令指定的文件中。另,逻辑卷扇区直接写:-W 地址 逻卷号 起始逻扇号 扇数 -R 寄存器名 显示并允许修改指定寄存器的值 -G=始址 终址 执行指定内存中的机器指令程序 -T=地址 单步执行机器指令,缺省地址则从上一T命令继续。另,继续跟踪m条指令:-T m 读取c:卷的引导扇区,并保存到Boot.1文件中,并简单分析引导程序的前面几条指令: -L 1000 2 0 1 -N boot.1
2023-07-27 19:21:451

无法打开debug

1:点击“开始→运行”,输入“CMD”(Windows2000/XP)或“Command”(Windows9x)打开命令提示符窗口。2:输入“Debug”并回车,出现提示符“-”,现在你已经开启了神秘的Debug世界了。
2023-07-27 19:21:521