调试程序可以帮助的了解程序是怎样运行的.pdfVIP

  • 3
  • 0
  • 约9.4千字
  • 约 10页
  • 2021-10-07 发布于上海
  • 举报

调试程序可以帮助的了解程序是怎样运行的.pdf

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

文档评论(0)

1亿VIP精品文档

相关文档