1. 调试程序过程中存在的问题与解决方法
首先判断该函数的是否缺少括号或者分号,如果缺少,立即补上。如果程序还继续报错的话,应对此
函数每条语句进行调试。如果判断到某一条语句就停止时,说明该语句导致程序出现算法问,或者变
量没有初始化就进行操作等,应该对问题具体情况具体分析。当一段程序不断的被执行时,首先考虑
是否出现了死循环。当程序运行时没有出现问题时,是否考虑到了有对非法输入的处理。以便提高程
序的健壮性,把程序运行中可能出现的问题考虑进去。
2. 对软件采用的调试方法有哪些
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 -R bx ;输入0000 -R cx ;输入0200 -W 1000 -U 1000 读取第一个硬盘上的主引导扇区,并保存到MB.1文件中,在屏幕上显示硬盘分区表数据: -A 100 yyyy:0100 mov dx,0080 yyyy:01xx mov cx,0001 yyyy:01xx mov ax,yyyy yyyy:01xx mov es,ax yyyy:01xx mov bx,1000 yyyy:01xx mov ax,0201 yyyy:01xx int 13 yyyy:01zz nop -G=yyyy:0100 01zz -N mb.1 -R bx ;输入0000 -R cx ;输入0200 -W 1000 -D 11be 11ff debugging命令 debugging命令概述 获得路由器中交换的报文和帧的细节信息 用于调试信息 debugging命令使用注意事项 不使用debug命令监控正常的网络运行 在网络使用的低峰期使用 不要轻易使用类似debugging all之类的命令 使用debugging命令后,应立即以“undo debugging”命令终止debugging命令的执行。 Debugger "Debugger"这个词按它的英文字面意思来讲是这样一种“装置”(-er),这种装置可以“消除”(De-)“系统中的缺陷”(bug)。然而事实上,迄今为止我们经常使用到的"Debugger"只是用来帮助我们进行Debug的工具,"Debugger"本身不能自动完成"Debug"。我们可以回想一下我们是如何进行Debug的,在进行Debug的过程中,我们通过Debugger来完成以下工作: (1)监视“Debug对象”的状态; (2)控制“Debug对象”的运行; 这些工作可以为“发现Debug对象中存在的问题”以及“对解决问题方案的检验”提供有用的信息。 监控工作有时只需要由软件就可以完成,有时不仅需要软件支持,还需要硬件的支持。 Debugger除了被用来Debug,还被用来帮助我们理解“Debug的对象”内部结构,因为我们用到的Debugger能够完成对“Debug对象”的监控工作,在监控的过程中可以获取“Debug对象”动态特征的信息,这对我们理解其结构是非常有用的。 关于更详细的介绍和研究可以参考国人原创的《软件调试》 ,这 [url= http://www.chenganyxrj.com ]嫦娥二号直播[/url]
3. 硬件调试的基本步骤是什么
检查电路
通电观察
静态调试
动态调试
指标测试