Visual C++ 之 调试程序

一、Debug调试器
发布版本没有调试信息,不能进行程序调试,但程序进行了优化,DEBUG版本则包含调试信息(在Debug文件夹),但没有优化。所以程序有时候能够在调试版本运行,但不能运行于发布版本。编程时一般先生成一个Debug版本程序,程序在经过调试确认无误后,再编译链接生成一个Release版本程序。

调试工具:

1. 调试窗口
用于显示程序的调试信息。
Output窗口:显示有关build和debug操作的信息,包括编译链接错误信息和调试时一些宏的输出信息
variable窗口:观察和修改某个作用域内所有变量的当前值,调试器可根据当前程序运行过程中变量的变化情况自动选择应显示的变量。可以在Context下拉列表选择要查看的函数,然后会显示函数内部的局部变量的值。Auto页面显示当前语句或者前一条语句(当前语句没有相关变量值);Locals显示当前函数局部变量的值;This页面以树形方式显示当前类的对象的所有成员。
Watch窗口:观察和修改变量或表达式的值,但需要程序员在窗口设置要观察的变量或表达式。

调试窗口用红色表示变量的值在程序当前的执行过程中发生了变化。可以在调试窗口手工改变变量的值,程序采用新的变量继续向后执行。另外,工具栏有工具按钮可以是用户在调试过程中改变的语句生效。
如果变量是一个对象、对象引用、指针,调试窗口将自动展开变量,显示其成员信息。

2. 其他窗口
Register窗口:显示通用寄存器和CPU状态寄存器的内容(标志值、浮点堆栈)
Memory窗口:显示当前内存的内容;Address框允许你指定从哪个虚拟内存地址开始显示。 
Call Stack窗口:列出所有调用未结束的函数,当前函数在堆栈的顶端。 
Disassembly窗口:列出反汇编后得到的由编译器生成的对应于源代码的汇编指令

3. 设置断点:
在源程序的某语句设置一个暂停点,在调试器中运行程序时可以强制程序执行到断点暂时停止运行。
单步执行:
(1)Step into:遇见函数调用语句,进入函数内部
(2)Step over:遇见函数调用语句,但不进入函数内部,跳过该函数。调试时,如果不能确定这个函数是否有错,一般先跳过函数而不进入。
(3)Step out:从当前的函数中跳出,程序流程执行函数调用语句的下一步。
4.调试符号
程序数据库文件(.pdb)包含了Visual C++调试器所需的调试信息和程序信息。调试信息包含了变量的名字和类型、函数原型、源代
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值