导航:首页 > 软件知识 > 什么是程序调试

什么是程序调试

发布时间:2022-02-06 13:01:24

① 程序调试的任务是什么

计算机工作时,所有运行的程序都需要经过内存来执行,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存就像一个周转仓库。当运行的程序需要占用大量内存时,这个仓库的容量就会所剩无几,此时总有一部分暂时不用的“惰性”数据占据着有限的内存空间,为了给“活性”数据腾出地方, Windows操作系统就利用硬盘空间建立一个后备“仓库”(即虚拟内存),去存放这些“惰性”数据。Windows运用虚拟内存技术,自动调用硬盘来充当内存,以缓解内存的紧张。

系统管理虚拟内存的默认设置,通常比较保守,在自动调节时会造成页面文件不连续,而降低读写效率,设置:
①右击“我的电脑”,选择“属性”-“高级”选项卡。
②点击“性能”-“设置”,在“性能选项”窗口中选择“高级”选项卡,打开对话框。
③在对话框可看到关于虚拟内存的区域,点击“更改”按钮进入“虚拟内存”设置。选择一个有较大空闲容量的分区,勾选“自定义大小”前的复选框,将具体数值填入“初始大小”、“最大值”栏中,而后依次点击“设置→确定”按钮即可,最后重新启动使虚拟内存设置生效。
建议:可以划分出一个小分区专门提供给虚拟内存、IE临时文件存储等使用,以后可以对该分区定期进行磁盘整理,从而能更好提高计算机的工作效率。

虚拟内存交换文件最小值、最大值和内存大小相关:一般,内存在256MB以下,可设置为 2 到 3 倍;在512MB以上,可设置为 1.5 到 2 倍。如果虚拟内存设置得当,将会提升电脑的性能和运行速度。在默认状态下,Windows始终将虚拟内存设为物理内存的1.5倍。这样,如果安装2GB的内存,系统就会占用高达3GB的硬盘空间作为虚拟内存。但是当前的主流应用软件和游戏软件,没有必要使用这么多的虚拟内存

② 程序调试通常称为什么

项目在Debug模式下打包跟在release模式下打包有什么区别?需要注意哪些吗?问题通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

③ 什么是软件调试软件调试应遵循哪些原则

软件调试就是你对你编写的程序要进行测试程序的正确性。有时候经常是你的程序没有语法和语句上的错误,但是你的程序运行结果不一定正确,这时候就需要你进行软件调试了。这部分的调试工作就要比你前面首先调试程序的语法和语句错误的难度要大。
至于说软件调试应遵循哪些原则?你可以借一本软件工程的教材进行参考。软件工程教材里面都会讲软件调试的,会讲到耦合性、内聚性,具体的内容我好久不用,忘得差不多了,你可以参考书中内容。

④ 什么是计算机的程序调试

所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,必须送入计算机中测试。
程序调试分以下,几步进行:
第一步,用编辑程序把编制的源程序按照一定的书写格式送到计算机中,编辑程序会根据使用人员的意图对源程序进行增、删或修改。
第二步,把送入的源程序翻译成机器语言,即用编译程序对源程序进行语法检查并将符合语法规则的源程序语句翻译成计算机能识别的“语言”。如果经编译程序检查,发现有语法错误,那就必须用编辑程序来修改源程序中的语法错误,然后再编译,直至没有语法错误为止。
第三步,使用计算机中的连接程序,把翻译好的计算机语言程序连接起来,并扶植成一个计算机能真正运行的程序。在连接过程中,一般不会出现连接错误,如果出现了连接错误,说明源程序中存在子程序的调用混乱或参数传递错误等问题。这时又要用编辑程序对源程序进行修改,再进行编译和连接,如此反复进行,直至没有连接错误为止。
第四步,将修改后的程序进行试算,这时可以假设几个模拟数据去试运行,并把输出结果与手工处理的正确结果相比较。如有差异,就表明计算机的程序存在有逻辑错误。如果程序不大,可以用人工方法去模拟计算机对源程序的这几个数据进行修改处理;如果程序比较大,人工模拟显然行不通,这时只能将计算机设置成单步执行的方式,一步步跟踪程序的运行。一旦找到问题所在,仍然要用编辑程序来修改源程序,接着仍要编译、连接和执行,直至无逻辑错误为止。
参考资料:

⑤ 软件(程序)调试的任务是什么

解析:程序的调试任务是诊断和改正程序中的错误。

⑥ c语言程序调试

调试程序一般应经过以下几个步骤:

1先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙上机,而应对纸面上的程序进行人工检查。这一步是十分重要的,它能发现程序设计人员由于疏忽而造成的多数错误。而这一步骤往往容易被人忽视。有人总希望把一切推给计算机系统去做,但这样就会多占用机器时间,作为一个程序人员应当养成严谨的科学作风,每一步都要严格把关,不把问题留给后面的程序。

为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:应当采用结构化程序方法编程,以增加可读性;2尽可能多加注释,以帮助理解每段程序的作用;3在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。这样既易于阅读也便于调试,各函数之间除用参数传递数据这一渠道以外,数据间尽量少出现耦合关系,便于分别检查和处理。

2在人工检查无误后,才可以上机调试。通过上机发现错误称动态检查。在编译时给出语法错误的信息,可以根据提示的信息具体找出程序中出错之处并改正之。应当注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多各种错误互有关联,因止要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。

如果系统提示的出错信息多,应当从上到下一一改正。有时显示出一大片出错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息;有的是少了“}”或多了“}”有的是书写语句时忘记写“;”或是全角的“;”了,只要加上一个变量定义,或填加“};”就所有错误都消除了。

3在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。应当对运行结果作分析。看它是否符合要求。有的初学者看到运行结果就认为没问题了,不作认真分析,这是危险的。

有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以得出容易判断正确与否的结果。可以在计算的输出结果的程序地方加入一段输出到串口的程序,利用串口窗口可以方便看到结果的,比仿真的都好和直观。例如,if语句有两个分支,有可能在流程经过其中一个分支时结果正确,而经过其它一个分支时结果不对等。必须考虑周全。

事实上,当程序复杂时很难把所有的可能方案全部都试到,选择典型的情况作试验即可。

4 运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法:

1 将程序与流程图仔细对照,如果流程图是正确的话,程序写错了,是很容易发现的。例如,复合语句忘记写花括号,只要一对照流程图就能很快发现。

2 如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,往下检查。直到找到在哪一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就可能发现错误所在。

3 也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf函数语句就要进行编译并执行。当调试完毕,这些语句不要再编译了,也不再被执行了)。这种方法可以不必一一去printf函数语句,以提高效率。

4 如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题,如有则改正之,接着修改程序。

5 有的系统还提供debug(调试)工具,跟踪流程并给出相应信息,使用更为方便,如KEILC51里的调试运行就很好用的,可以在命令的窗口输入程序中需要的数据和开关量、中断、I/O口的电平等来方便完成程序的运行,使用时要先打开Options for Target'Target1'(工程菜单里的目标‘TARGET1'属性)-----点DEBUG----选中左边use Simulator\load Application at sta\Go till main;按确定后退出到编辑画面,要先对源程序进行编译后没有错误才可以按主菜单上的调试按钮,进行调试的,F10为子程序运行式的单步、F11为单步调试;具体使用可以看本站提供的51单片机应用系统开发实例一书中的Dscope foe Windows一节。可以下载本站上中文版的KIELC51就直观了。

总之,程序调试是一项细致深入的工作,需要下功夫,动脑子,善于累积经验。在程序调试过程中往往反映出一个人的水平,经验和科学态度。希望读者能给以足够的重视。上机调试程序的目的决不 是为了“验证程序的正确”,而是“掌握调试的方法和技术”,不要一直依赖仿真器来解决,要学会自己找问题,这样慢慢自己就会写出错误较少的实用的程序,站长就没有仿真器的哦,靠KEILC51里的软件仿真就解决了。
请采纳。

⑦ c语言中什么叫做单步调试,步骤是什么

单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。

解决这个问题的方法如下:

1、首先需要设置断点的那一行代码的最前面点击下,就会出现一个红色的圆球,代表设置断点成功,下图一共设置了4个断点。

⑧ 什么是软件调试

看名字也能看出来啊,测试只是测试软件的性能用途,而调试则是对软件进行加工改造同时测试

⑨ 软件测试和软件调试的区别是什么

一、性质不同

1、软件测试:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。

2、软件调试:泛指重现软件故障、定位故障根源并最终解决软件问题的过程。

二、目的不同

1、软件测试:鉴定、审核软件。

2、软件调试:软件调试的基本目标是定位软件中存在的设计错误(bug)。但除此之外,软件调试技术和工具还有很多其他用途,比如分析软件的工作原理、分析系统崩溃、辅助解决系统和硬件问题等。

三、特点不同

1、软件测试:对计算机软件进行测试前,需遵循软件测试原则,即不完全原则的遵守。

2、软件调试:重现故障;定位根源;探索和实现解决方案;验证方案。

⑩ 什么是bug程序调试的目的是什么

目的:发现程序中的bug
步骤:先对相应的代码行打上断点,然后用debug模式启动这个程序,程序在执行到断点代码行时会停止,然后可以根据对应的操作,执行下一行代码等等来发现程序在执行到哪一行代码时出错,为什么出错

阅读全文

与什么是程序调试相关的资料

热点内容
数据库审计有哪些工具 浏览:200
高淳区五金旧货市场在什么位置 浏览:591
生物性存货监盘程序包括什么 浏览:819
微信小程序中国移动怎么用 浏览:169
wps中的数据验证在什么位置 浏览:919
电脑转转交易记录怎么看 浏览:500
股票板块信息怎么查 浏览:491
温州男装市场哪个最好 浏览:792
产权界定如何降低交易费用 浏览:894
古董交易市场哪个好 浏览:599
房山哪里有农贸菜市场 浏览:243
神武4哪些可以交易 浏览:266
市场风险为什么不可以分散 浏览:649
面粉代理利润怎么算 浏览:881
市面上的信息流产品有哪些 浏览:360
plc如何读取dp口编码器数据 浏览:294
tst小代理如何做到创始人 浏览:272
京东物流信息怎么查询 浏览:879
如何理解期货市场交易的特殊性 浏览:423
技术员怎么给公司建议 浏览:663