程序调试与常见程序错误.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序调试与常见程序错误

程序调试与常见程序错误 目 录 一、在Codeblocks中调试程序 1 二、存储路径设置问题 4 三、修改Codeblocks的设置 4 四、提示程序无法调试问题 6 五、常见错误分析 6 六、程序出错的三种情况 18 七、常用的纠错方式 19 一、在Codeblocks中调试程序 1.注意事项 不允许工程路径中含有空格、汉字。 2.在相应行号后面点击鼠标左键设置断点 3.打开WATCHS窗口 4.点击调试按钮 5.可以再watchs窗口看到自动变量。黄色三角表示程序暂停的位置 6.通过单步运行按钮进行单步运行。 7.也可以在debuger标签,command栏输入调试命令进行单步运行、打印变量值等操作。 8.程序运行 二、存储路径设置问题 1. 如果不是默认安装路径,code blocks 就无法找到编译器和调试器,就会出现此问题。 决办法:Settings——Compiler and debugger——Toolchain executables——Auto-detect。 输出信息为某个命令执行失败或异常终止通常是相应的编译器找不到,试着将其所在路径放到path中去。 输出编译错误,如某某文件找不到之类在项目中设置选项中加上路径(通常可利用customer variable项)。 XYZ - Debug: The compilers setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler. Probably the toolchain path within the compiler options is not setup correctly?! Goto Settings-Compiler and debugger...-Global compiler settings-GNU GCC Compiler-Toolchain executables and fix the compilers setup. Skipping... Nothing to be done (all items are up-to-date).这种警告。 解决方法:这个错误提示已经说得很清楚了, 找不到编译器, 到菜单Settings-Compiler and debugger...-Global compiler settings-GNU GCC Compiler-Toolchain executables下去修复编译选项前提是你已经装了gcc 如过没装, 就去下个包含mingw的codeblocks, (mingw包含gcc编译器) 2. 3. 4. 四、提示程序无法调试问题 多次调试一个程序时出现cannot open output film D:\c++\文件名.exe Permission denied 解决方法:启动任务管理器,找到文件.exe关闭就可以了。 五、常见错误分析 忘记定义变量。 例如: main( )   {x=3; y=6; printf(%d\n ,x+y); } C要求对程序中用到的每一个变量都必须定义其类型,上面程序中没有对x、y进行定义。应在函数体的开头加int x,y;这是学过BASIC和FORTRAN语言的读者写C程序时常见的一个错误。在BASIC语言中,可以不必先定义变量类型就可直接使用。在FORTRAN中,未经定义类型的变量按隐含的I-N规则决定其类型,而C语言则要求对用到的每一个变量都要在本函数中定义(除非已定义为外部变量)。 输入输出的数据的类型与所用格式说明符不一样。 例如: 若a已定义为整型,b已定义为实型。 a=3;b=4.5; printf(%f %d\n,a,b); 编译时不给出出错信息,但运行结果将与原意不符,输出为 0.000000 16402 它们并不是按照赋值的规则进行转换(如把4.5转换成4),而是将数据在存储单元中的形式按格式符的要求组织输出(如b占4个字节,只把最后两个字节中的数据按%d,作为整数输出)。 未注意int型数据的数值范围。 例如: 一般微型计算机上使用的C编译系统,对一个整型数据分配两个字节。因此一个整数的范围为 -215~215-1,即-32768~32767。常见这样的程序段: int num;  num=89101;   printf(%d,num); 得到的却是23565,原因是89101已超过32767。两个字节容纳不下89101,则将高位截去。即将超过低16位的数截去。即将89101减去216(即1

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档