C++中使用断点写调试方法.docx

上传人:小飞机 文档编号:3153806 上传时间:2023-03-11 格式:DOCX 页数:3 大小:37.50KB
返回 下载 相关 举报
C++中使用断点写调试方法.docx_第1页
第1页 / 共3页
C++中使用断点写调试方法.docx_第2页
第2页 / 共3页
C++中使用断点写调试方法.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++中使用断点写调试方法.docx》由会员分享,可在线阅读,更多相关《C++中使用断点写调试方法.docx(3页珍藏版)》请在三一办公上搜索。

1、C+中使用断点写调试方法C+中使用断点写调试方法 C/C+ code: f9 - 设置/取消断点 f10 - 单步执行 f11 - 比f10的步幅小,f10在函数的调用时,直接跳过,在f11下,会进入函数体! f5 - 执行到下一个断点! 了解调试,首先要知道断点这个概念.断点就是程序运行中可能会中断的地方,方便开发者在程序运行的过程中查看程序当前的运行状态,比如变量的值,函数的返回值等等.究竟怎么使用断点呢? 1.F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10单步执行程序. CTRL+F10运行到光标所在行.

2、F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面. SHIFT+F11跳出当前所在函数. 特别说明: a.有的地方不能下断点.比如空行,基本类型定义语句(不初始化),等等非执行语句.比如 int i; / 此行不能下断点 int j=0;/ 这里可以下 CStringstr;/ 这里可以下 intk = Max(i,j);/ 这里可以下 b.不是所有断点都会(断).比如下断点的语句在程序里面没有被执行. c.此外,ALT+F9还可以下条件断点,不过这个不常用,有兴趣的可以自己研究:) 2.如何调试Release版的程序? 有些程序在debug下运行的很好,但在release

3、下却总是失败,默认情况下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下也不能下断点,我以前也曾经遇到过这种问题,一个调了层的dll,就是不能下断点.其实还除了上面的方法,还有一种最底层的实现技术:使用汇编. 细心的人可能会发现,有时候在调试状态下当程序出现异常的时候,光标会指向汇编代码,而这个代码就是int 3,这其实是一个中断. 在你的代码的任意地方加上 _asm int 3 ; 用debug编译,然后直接运行程序.当程序执行到上述代码的时候,就会出现一个框,告诉你说一大堆信息,说程序错了,下面有调试、终止、忽略,不用理,点调试就可以进入跟踪了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号