当前位置: 首页 > news >正文

中国建设银行积分商城网站/百度seo通科

中国建设银行积分商城网站,百度seo通科,黑糖wordpress,企业设计个网站c语言调试技巧总结2007-12-31 20:38:19| 分类: 编程资料 | 标签:|字号大中小经过这么多程序的编辑与调试,需要总结一些经验,以免在以后的调试中乃中当初无知的起点出发开始摸索!在整个程序编辑完毕并通过编译后,对各个函数进行调试.首先用一组简单的数…

c语言调试技巧总结

2007-12-31 20:38:19|  分类: 编程资料 |  标签:|字号大中小

经过这么多程序的编辑与调试,需要总结一些经验,以免在以后的调试中乃中当初无知的起点出发开始摸索!在整个程序编辑完毕并通过编译后,对各个函数进行调试.

首先用一组简单的数据对程序进行调试,是否各函数有出错现象.然后用复杂数据对程序进行调试.直到确定程序对正常数据没有错误为止.

第二,当数据测试时,程序错误,要首先找到出错的函数,对函数中各个变量进行观察,有时变量很多,循环多重不要急,对各个数据的观察,对程序的调试有很大的帮助.你也可以,先对几个变量熟悉后,在多重循环里,确定正确的数据,将其跳过调试.对有疑问的数据循环进行仔细观察.虽然这是比较省力气的活,但对复杂的数据错误并不是很有效.所以仔细观察每个数据的变化对调试的成功与否有决定性作用!

第三,测试时,根本的错误并不一定在运行错误的函数内,或许在前面的函数内已经奠定了这些错误数据的基础,需要反过头来,对所有的的函数进行一项项的调试!从程序运行的第一个函数开始调试.按照程序运行的步骤下去.一个个的确定函数的正确性,每确定一个函数,在以后的调试中可以减少对该函数的调试次数,或者直接跳到下一个函数.所谓的各个击破便是如此.对头文件中的各个函数的返回值和它所要传入的参变量及其功能更是需要注意.

第四,调试时,需要对错误缩小范围,从整个程序到指定函数,再到指定区域,再到指定行,在对程序缩小范围或对编译没通过的程序缩小错误范围时可以用"/* */"来进行调试,确定正常范围,缩小错误范围.

本次总结,主要是对C语言初级编程的总结,写下自己的体会,有不妥的地方希望

高手能及时提出,在此受小弟一拜!!

下面是一个高手对程序调试技巧的编写,现在对第2,3两点还没接触但还是贴一下

希望大家有所受益.

了解调试,首先要知道"断点"这个概念.断点就是程序运行中可能会中断的地方,方便开发者在程序运行的过程中查看程序当前的运行状态,比如变量的值,函数的返回值等等.究竟怎么使用断点呢?

1.F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点.

F5调试状态运行程序,程序执行到有断点的地方会停下来.

F10单步执行程序.

CTRL+F10运行到光标所在行.

F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面.

SHIFT+F11跳出当前所在函数.

特别说明:

a.有的地方不能下断点.比如空行,基本类型定义语句(不初始化),等等非执行语句.比如

int i;  // 此行不能下断点

int j=0;// 这里可以下

CStringstr;// 这里可以下

intk = Max(i,j);// 这里可以下

b.不是所有断点都会(断).比如下断点的语句在程序里面没有被执行.

c.此外,ALT+F9还可以下条件断点,不过这个不常用,有兴趣的可以自己研究:)

2.如何调试Release版的程序?

有些程序在debug下运行的很好,但在release下却总是失败,默认情况下release是不能调试的. 怎么解决呢?

其实"debug"和"release"都只是一个代号而已,各自对应一组不同的编译选项.

在release的默认设置下,ALT+F7 ,调出工程设置对话框,切换到link选项卡,勾选"Generate debug info",然后再切换到C/C++选项卡,在"Optimizations"里面选"Disable(Debug)",在下面的"Debug info"里面选" Program Database for Edit and Continue".然后点OK保存设置,重新编译程序,下断点即可.

3.上面两点已经能应付很多种情况了,但是有时候即使在debug下也不能下断点,我以前也曾经遇到过这种问题,一个调了4层的dll,就是不能下断点.其实还除了上面的方法,还有一种最底层的实现技术:使用汇编.

细心的人可能会发现,有时候在调试状态下当程序出现异常的时候,光标会指向汇编代码,而这个代码就是int 3,这其实是一个中断.

在你的代码的任意地方加上

__asm{

int 3

};

用debug编译,然后直接运行程序.当程序执行到上述代码的时候,就会出现一个框,告诉你说一大堆信息,说程序错了,下面有"调试"、"终止"、"忽略",不用理,点调试就可以进入跟 踪了。

http://www.lbrq.cn/news/1038007.html

相关文章:

  • 杨凌网站建设哪家好/关键词排名点击软件推荐
  • 电商网页设计网站/快速排名工具免费查询
  • 织梦播放器网站/长春seo优化
  • 没有做老千的斗牛网站/2023年的新闻十条
  • 建设街小学网站/高质量网站外链平台
  • 个人可以做电影网站吗/短视频培训要多少学费
  • 中国工程建设监理协会网站/淘宝指数网站
  • 门户网站开发方案/seo优化百度技术排名教程
  • 东莞网站推广哪里好/如何在百度搜索排名靠前
  • 动易门户网站价格/2022年最新最有效的营销模式
  • 网站上做的vi设计是怎么做的/今日头条最新新闻消息
  • 那个网站可以做空比特币/新媒体推广渠道有哪些
  • 上海宝钢集团公司网站建设/网站seo网络优化
  • 房地产网站大全/苹果aso优化
  • 遵义网站开发/百度网盘客服24小时电话人工服务
  • 佛山网站建设有哪些/国内最好的危机公关公司
  • 小型教育网站的开发与建设/深圳seo推广培训
  • 晋江企业网站建设/天津做优化好的公司
  • 广州网站设计建设公司/网站seo站外优化
  • 提供常州网站建设/seo网站优化优化排名
  • 找人帮你做PPT的网站/google全球推广
  • 网站建设好么/海外新闻发布
  • 网站建设技术支持祥云平台/大一html网页制作作业
  • 个人网站需要备案吗/b站推广入口2023mmm无病毒
  • 公司建立自己的网站吗/百度竞价排名多少钱
  • 公司做网站哪里做/清远seo
  • 北京网站建设开发公司哪家好/百度推广哪家做的最好
  • 一步步教会你怎么做网站/武汉大学人民医院地址
  • 有没有通信专业业余做兼职的网站/平台推广策略都有哪些
  • 东莞沙田网站建设/小红书推广方式
  • Ansible 基础到实操笔记
  • 【PyTorch学习笔记 - 01】 Tensors(张量)
  • C# 异步编程(BeginInvoke和EndInvoke)
  • 数学建模——灰色预测(GM11)
  • Vue.js设计于实现 - 概览(二)
  • 【代码随想录day 15】 力扣 257. 二叉树的所有路径