Visu al C++开调试技巧 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(file.Open(strFileName))。 一旦到了 Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错的信息。如果用 VERIFY()就不会有这个问题。 4.Workspace和Project之间是什么样的关系 每个 Workspace可以包括几个 project,但只有一个处于 Active状态,各个 project之间可以有依赖关系,在 project的 Setting..中可以设定,比如那个 Active状态的 project可以依赖于其他的提供其函数调用的静态库。 5. 如何在非 MFC程序中使用 ClassWizard 在工程目录下新建一个空的.RC文件,然后加入到工程中就可以了。 6.如何设置断点 按 F9在当前光标处增加一个断点和取消一个断点。 另外,在编辑状态下,按 Ctrl+B组合键,弹出断点设置对话框。然后单击【Condition„】按钮弹出设置断点条件的对话框进行设置。 7.在编辑状态下发现成员变量或函数不能显示提示是如何打开显示功能 这似乎是目前这个 Visual C++ 6.0版本的一个 bug,可按如下步骤使其正常,如再出现,可如法炮制...