【vc++精品源码栏目提醒】:本文主要为网学会员提供“【精品】vc++6.0调试方法(附有快捷键) - 网络与通信”,希望对需要【精品】vc++6.0调试方法(附有快捷键) - 网络与通信网友有所帮助,学习一下!
调试程序可以帮助了解程序是怎样运行的。
1、如何快速地规范代码缩进格式选中所需要规范的代码,按 shiftF82、如何在 Release 状态下进行调试Project-gtSetting…-gtProject Settings 对话框,选择 Release 状态。
“C/C”标签页中的Category 选 General,Optimizations 选 DisableDebug,Debug info 选 Program Database。
在“Link”标签页中选中 Generate debug info 复选框。
注:只是一个介乎 Debug 和 Release 的中间状态,所有的 ASSERT、VERIFY 都不起作用,函数调用方式已经是真正的调用,而不查表,但是这种状态下 QuickWatch、调用队列跟踪功能仍然有效,和 Debug 版一样。
3、Release 和 Debug 有什么不同。
Release 版称为发行版,Debug 版称为调试版。
Debug 中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。
Release 版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。
Release 的 exe 文件链接的是标准的 MFC DLLUse MFC in a shared or static dll,比如MFC42.DLL。
这些 DLL 在安装 Windows 的时候,已经配置,所以这些程序能够在没有安装 Visual C 6.0 的机器上运行。
而 Debug 版本的 exe 链接了调试版本的 MFC DLL 文件,如 MFC42D.DLL。
在没有安装 Visual C6.0 的机器上不能运行,因为缺 MFC42D.DLL 等,除非选择 use static dll when link。
4、ASSERT 和 VERIFY 有什么区别ASSERT 里面的内容在 Release 版本中不编译,VERIFY 里面的内容仍然编译,但不再判断真假。
所以后者更安全一点。
例如 ASSERTfile.OpenstrFileName,一旦到了 Release 版本中,这一行就忽略了,file 根本就不 Open了,而且没有任何出错的信息。
如果用 VERIFY就不会有这个问题。
5、Workspace 和 Project 之间是什么样的关系每个 Workspace 可以包括几个 project,但只有一个处于 Active 状态,各个 project 之间可以有依赖关系,在 project 的 Setting…中可以设定,比如那个 Active 状态的 project 可以依赖于其他的提供其函数调用的静态库。
6、如何在非 MFC 程序中使用 ClassWizard在工程目录下新建一个空的.RC 文件,然后加入到工程中就可以了。
7、如何设置断点按 F9 在当前光标处增加一个断点和取消一个断点。
另外,在编辑状态下,按 CtrlB 组合键,弹出断点设置对话框。
然后单击【Condition…】按钮弹出设置断点条件的对话框进行设置。
8、在编辑状态下发现成员变量或函数不能显示提示,如何打开显示功能这似乎是目前这个 Visual C 6.0 版本的一个 bug,可按如下步骤使其正常,如再出现,可如法炮制:(1)关闭 Project,(2)删除“工程名.ncb”文件,(3)重新打开工程9、如何将一个通过 ClassWizard 生成的类彻底删除首先在工作区的 FileView 中选中该类的.h 和.cpp 文件,按 delete 删除,然后在文件管理器中将这两个文件删除,再运行 ClassWizard,这时出现是否移走该类的提示,选择 remove 就可以了。
10、如何将在 Workspace 中消失的类找出来打开该类对应的头文件,然后将其类名随便改一下,这个时候工作区就会出现新的类,再将这个类改回原来的名字就可以了。
还可以用以下方法:(1)关闭 VC,删除文件夹中的.clw 文件,然后重新打开 VC,重建。
批注 番茄花园1: 这是什么文 件???(2)备份.h 和.cpp 文件,然后删除.h 和.cpp 文件,重新加入。
(3)在 ClassWizard 中为这个类生成一个消息处理函数,你就可以在 ClassView 中看到了,这样可以不用关闭、重启 VC。
你可以手工删除加进的函数。
11、如何清除所有的断点菜单【Edit】-gt【Breakpoints…】,打开“Breakpoints”对话框,单击【Remove All】按钮即可。
快捷键是“Ctrl Shift F8”。
12、如何在 ClassWizard 中选择未列出的信息打开“ClassWizard”对话框,然后切换到“Class Info”页面。
改变“Message filter”,如选择“W