vc++6.0 如何调试
1.如何在 Release 状态下进行调试
Project->Setting=>ProjectSetting 对话框,选择 Release 状态。C/C+
+标签中的 Category 选 General,Optimizations 选
Disable(Debug),Debut info 选 Program Database。在 Link 标签中选中
Generate debug info 复选框。
注:只是一个介乎 Debug 和 Release 的中间状态,所有的
ASSERT、VERIFY 都不起作用,函数调用方式已经是真正的调用,而不查表,
但是这种状态下 QuickWatch、调用队列跟踪功能仍然有效,和 Debug 版一
样。
2. Release 和 Debug 有什么不同
Release 版称为发行版,Debug 版称为调试版。
Debug 中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行
速度较慢。Release 版运行速度较快,可执行文件较小,但在其编译条件下无
法执行调试功能。
Release 的 exe 文件链接的是标准的 MFC DLL(Use MFC in a shared or
static dll)。这些 DLL 在安装 Windows 的时候,已经配置,所以这些程序能
够在没有安装 Visual C++ 6.0 的机器上运行。而 Debug 版本的 exe 链接了
调试版本的 MFC DLL 文件,在没有安装 Visual C++6.0 的机器上不能运行,
因为缺相应的 DLL,除非选择 use static dll when link。
3. ASSERT 和 VERIFY 有什么区别
ASSERT 里面的内容在 Release 版本中不编译,VERIFY 里面的内容仍然翻译,
但不再判断真假。所以后者更安全一点。例如
ASSERT(5le.Open(strFileName))。一旦到了 Release 版本中,这一行就忽
略了,5le 根本就不 Open()了,而且没有任何出错的信息。如果用 VERIFY()
就不会有这个问题。
4.Workspace 和 Project 之间是什么样的关系
每个 Workspace 可以包括几个 project,但只有一个处于 Active 状态,各个
project 之间可以有依赖关系,在 project 的 Setting..中可以设定,比如那个
Active 状态的 project 可以依赖于其他的提供其函数调用的静态库。
5. 如何在非 MFC 程序中使用 ClassWizard
在工程目录下新建一个空的.RC 文件,然后加入到工程中就可以了。
6.如何设置断点
按 F9 在当前光标处增加一个断点和取消一个断点。另外,在编辑状态下,按
Ctrl+B 组合键,弹出断点设置对话框。然后单击【Condition…】按钮弹出设
置断点条件的对话框进行设置。