Visual C++开发工具与调试技巧 Visual C++ 是一种功能强大的开发工具,提供了许多有用的调试技巧,帮助开发者更好地debug和优化程序。下面是Visual C++开发工具与调试技巧的一些知识点: 1. 如何在 Release 状态下进行调试? 在 Release 状态下进行调试需要在 Project Setting 中选择 Release 状态,并在 C/C++ 标签中选择 Disable(Debug) 和 Generate debug info 复选框。这将生成一个介乎 Debug 和 Release 之间的中间状态,所有的 ASSERT、VERIFY 都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下 QuickWatch 和调用队列跟踪功能仍然有效,和 Debug 版一样。 2. Release 和 Debug 有什么不同? Release 版和 Debug 版是两种不同的编译模式。Release 版称为发行版,Debug 版称为调试版。Debug 版允许单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release 版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。 3. ASSERT 和 VERIFY 有什么区别? ASSERT 和 VERIFY 都是用于调试的宏,但它们有所不同。ASSERT 里面的内容在 Release 版本中不编译,VERIFY 里面的内容仍然翻译,但不再判断真假。因此,VERIFY 比ASSERT 更安全一点。 4. Workspace 和 Project 之间是什么样的关系? 每个 Workspace 可以包括几个 project,但只有一个处于 Active 状态。各个 project 之间可以有依赖关系,在 project 的 Setting..中可以设定,比如那个 Active 状态的 project 可以依赖于其他的提供其函数调用的静态库。 5. 如何在非 MFC 程序中使用 ClassWizard? 在非 MFC 程序中使用 ClassWizard 需要在工程目录下新建一个空的.RC 文件,然后加入到工程中就可以了。 6. 如何设置断点? 可以按 F9 在当前光标处增加一个断点和取消一个断点。另外,在编辑状态下,按 Ctrl+B 组合键,弹出断点设置对话框,然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。 7. 在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能? 这似乎是目前这个 Visual C++ 6.0 版本的一个 bug,可以按照以下步骤使其正常:关闭 Project,删除“工程名.ncb”文件,然后重新打开工程。 8. 如何将一个通过 ClassWizard 生成的类彻底删除? 首先在工作区的 FileView 中选中该类的.h 和.cpp 文件,按 delete 删除,然后在文件管理器中将这两个文件删除,再运行 ClassWizard,这时出现是否移走该类的提示,选择 remove 就可以了。 9. 如何将在 workspace 中消失的类找出来? 打开该类对应的头文件,然后将其类名随便改一下,这个时候工作区就会出现新的类,再将这个类改回原来的名字就可以了。 10. 如何清除所有的断点? 菜单【Edit】->【Breakpoints…】,打开“Breakpoints”对话框,单击【Remove All】按钮即可。快捷键是“Ctrl + Shift + F8”。 11. 如何再 ClassWizard 中选择未列出的信息? 打开“ClassWizard”对话框,然后切换到“Class Info”页面,改变“Message filter”,如选择“Window”,“Message”页面就会出现 Window 的信息。 12. 如何检测程序中的括号是否匹配? 把光标移动到需要检测的括号前面,按快捷键“Ctrl + ]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告。 13. 如何查看一个宏(或变量、函数)的定义? 把光标移动到要查看的一个宏上,就比如说最常见的 DECLARE_MAP_MESSAGE 上按一下 F12(或右键菜单中的相关菜单),如果没有建立浏览文件,就会出现提示。
- 粉丝: 0
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaFx写的端口检测工具
- (源码)基于SpringBoot和Vue的博客系统.zip
- 精选微信小程序源码:班夫旅游小程序(旅游类)小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- (源码)基于SpringMVC框架的旅游产品管理系统.zip
- ArcGIS Pro ADCore DAML.md
- 16-Flink与Kubernetes Operator集成实践与经验
- 15-Flink from YARN to Kubernetes: 资源优化和容器化实践
- (源码)基于PyTorch的BERT情感二分类系统.zip
- 14-Flink Kubernetes Operator 从1.4.0 升级到1.6.0的技术手册
- (源码)基于RTThread实时操作系统的g1632设备控制项目.zip