- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc调试方法大全.doc
VC调试方法大全
?
一、调试基础
调试快捷键
F5:? 开始调试
Shift+F5: 停止调试
F10:?? 调试到下一句,这里是单步跟踪?
F11:?? 调试到下一句,跟进函数内部
Shift+F11:??从当前函数中跳出
Ctrl+F10:??调试到光标所在位置
F9:?????? 设置(取消)断点
Alt+F9:????高级断点设置
跟踪调试
1、?尽量使用快捷键时行调试
2、?观察调试信息
3、?高级中断设置
异常调试
重试-取消-调试
函数堆栈,用variables或者call stack 窗口
Release调试
1、?经常测试你的Debug和Release版本
2、?不要移除调试代码,如用ASSERT, TRACE等。
3、?初始化变量,特别是全局变量,malloc的内存,new的内存
4、?当你移除某个资源时,确保你移除了所有跟这个资源相关的申明(主要是在resouce.h文中)
5、?使用3或者4级的警告级编译你的代码,并确保没有警告,project-setting-c/c++-warninglevel(中文版是项目-属性-C/C++-常规-警告等级)
6、?_debug改成NDEBUG进行调试,project-setting-C/C++-Preprocessordefinitions(中文版是项目-属性-C/C++-预处理器-预处理定义)(这里是debug和Release编译的重要不同之一)
7、?在Release中调试源代码,project-setting-C/C++-debug info选择programDataBase(中文版是项目-属性-C/C++-常规-调试信息格式-用于“编辑并继续”的程序数据库),project-setting-link选上Generate debug info(中文版是项目-属性-链接器-调试-生成调试信息)
8、?走读代码,特别关注堆栈和指针
二、TRACE宏
当选择了Debug目标,并且afxTraceEnabled变量被置为TRUE时,TRACE宏也就随之被激活了。但在程序的Release版本中,它们是被完全禁止的。下面是一个典型的TRACE语句:
????…
???????int nCount =9;
???????CString strDesc(total);
???????TRACE(Count =%d,Description =%s\n,nCount,strDesc);
???????…
?
可以看到,TRACE语句的工作方式有点像C语言中的printf语句,TRACE宏参数的个数是可变的,因此使用起来非常容易。如果查看MFC的源代码,你根本找不到TRACE宏,而只能看到TRACE0、TRACE1、TRACE2和TRACE3宏,它们的参数分别为0、1、2、3。
个人总结:最近看网络编程是碰到了TRACE语句,不知道在哪里输出,查了一晚上资料也没找出来,今天终于找到了,方法如下:
1.在MFC中加入TRACE语句
2.在TOOLS-MFCTRACER中选择 “ENABLE TRACING”点击OK
3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了,切记,切记)?
4.然后就会在OUTPUT中的DEBUG窗口中看到TRACE内容了,调试执行会自动从BUILD窗口跳到DEBUG窗口,在那里就看到TRACE的内容了,^_^
以下是找的TRACE的详细介绍:
?==============================
??????TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调式也在RELEASE的时候减少代码量。
使用非常简单,格式如下:
TRACE(DDDDDDDDDDD);
TRACE(wewe%d,333);
同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。。个参数
TRACE信息输出到VC IDE环境的输出窗口(该窗口是你编译项目出错提示的哪个窗口),但仅限于你在VC中运行你的DEBUG版本的程序。
TRACE信息还可以使用DEBUGVIEW来捕获到。这种情况下,你不能在VC的IDE环境中运行你的程序,而将BUILD好的DEBUG版本的程序单独运行,这个时候可以在DEBUGVIEW的窗口看到DEBUGVIE格式的输出了。
VC中TRACE的用法有以下四种:
TRACE1 ,就是不带动态参数输出字符串,??类似C的printf(输出字符串);?
TRACE2:?中的字符串可以带一个参数输出?,类似C的printf(...%d,变量
您可能关注的文档
- PH计算公式.doc
- pidcontrolmethod.ppt
- PLC电气接线图.doc
- PLC知识学习资料.doc
- PNG图像格式的压缩算法.doc
- PowerBuilder_程序.doc
- PowerPoint习题.doc
- PowerPoint联姻其它程序.doc
- PowerPoint课件教程(五).doc
- PowerPoin定制.ppt
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
最近下载
- JVC摄像机DLA-N700BC用户手册.pdf
- 一次性使用医疗物品管理.pptx VIP
- 五轴往复喷漆机系统手册.pdf VIP
- 《最好的宝藏》幼儿园大班语言PPT课件.pptx VIP
- 隧道施工安全控制及检查要点讲义.pptx VIP
- 2024-2025学年晋教版初中地理八年级下册(全册)教学设计(附教材目录P111).docx
- “沪上生态家”项目绿色建筑集成设计与建造后评估报告2012.pdf VIP
- 2025年安徽公共资源交易集团人员招聘笔试备考题库及答案解析.docx VIP
- 新时达AS330扶梯一体机电气原理图纸ESHC_500_V2.0.pdf
- 2025年供热基础设施项目监理细则.docx VIP
原创力文档


文档评论(0)