设为首页 加入收藏

TOP

vs下调试多个c项目联调
2014-10-29 12:30:09 来源: 作者: 【 】 浏览:45
Tags:调试 多个 项目

  一.Debug版本和Release版本的区别


  Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。


  只有Debug版本的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。Release版本不包含任何调试信息,所以体积小、运行速度快。


  一般而言Debug版本会比Release版本多出*.ilk文件和*.pdb文件。


  1.*.ilk文件


  ilk后缀全称为“Incremental Linking”,意即增量链接。


  VC6中,“Project Setting à Link (Category:General)”默认勾选“Link incrementally”;相应VC2005中,“项目属性à配置属性à链接器à常规à启用增量链接”默认选项为“是 (/INCREMENTAL)”。


  当选定渐增型编译链接时,链接器自动生成ILK文件,记录链接信息,也就是每次重新编译并不编译所有的源文件,只编译改动过的文件。而编译器怎么知道哪些编译过哪些未编译过呢,除了检查修改时间外,这个ilk文件也是很重要的信息。


  2.*.pdb文件


  pdb后缀全称为“Program Debug Database”,意即程序数据库文件。


  VC6中,“Project Setting à Link (Category:General)”默认勾选“Generate debug info”, “Project Setting à Link (Category:Customize)”默认勾选“Use program database”;相应VC2005中,“项目属性à配置属性à链接器à调试”,默认“生成调试信息”选项为“是(/DEBUG)”,默认“生成程序数据库文件”处填写“.\Debug\*.pdb”。该选项对应的编译开关为/PDB。


  符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如EXE、DLL等)的调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。用VC和 WinDbg调试程序时都要用到这个文件。


  关于符号文件,参考《符号文件―Windows 应用程序调试必备》。


  二.VC常用调试操作


  快捷键


  作用


  F5


  开始调试,逐断点调试


  F9


  设置(取消)断点


  Ctrl+F10


  调试到光标所在位置


  F10


  单步调试,遇到子函数跳过


  F11


  单步调试,遇到子函数跟踪进入内部


  Shift+F11


  从当前函数中跳出


  Shift+F5


  停止调试


  一般F9设断点,F5启动后,F10、F11和Shift+F11交替使用,以在多个断点处调试。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++和C#构造函数的区别 下一篇VC判断目录是否存在

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: