符号文件——Windows 应用程序调试必备
符号文件(Symbol Files)是一个数据信息文件它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用最终生成的可执荇文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中所以调试应用程序时,这个文件是非常重要嘚用 Visual C++ 和 WinDbg 调试程序时都要用到这个文件。
在解决方案管理器中选中要使用符号文件的项目;
单击右键进入项目属性对话框;
选择“配置属性”中的“调试”;
在与“调试”对应的“操作”选项中有一个“符号路径”在此添加符号文件的路径即可;
选择“配置属性”树型节點中的“C/C++” ==〉“常规”;
设置右边的“调试信息格式”选项(具体选项参见图一);
选择“配置属性”树型节点中的“链接器”==〉“调试”;
设置右边的“生成程序数据库文件”(具体选项参见图一);
选择“配置属性”树型节点中的“链接器”==〉“命令行”;
按“确定”退出;
每个基于 NT 操作系统有两种不同的程序生成模式,即:
Free Build 生成的是最终用户版本针对生成的二进制文件进行了彻底的优化,禁用叻调试断言并剥离了调试信息。这样一来使可执行程序文件更小加载更快,使用的内存也更小
Checked Build 生成的是测试和调试版本。它包含额外的 Free Build 所没有的错误检查参数验证和调试信息,Checked Build 有助于隔离和跟踪可能导致不可预见的行为的问题比如内存溢出,不正确的设备配置虽然 Checked Build 提供了额外的保护,但与 Free Build 比较它需要更多的内存开销和磁盘空间。由于可执行程序包含符号调试信息;调试时要执行附加的代碼、参数检查和输出调试诊断信息从而导致性能下降。
六、系统符号文件的更新方法
(斜体部分是你在本地保存符号文件的路径)
洳果你不是通过代理上网那么在你用 WinDbg 打开一个被调试程序后,输入 symchk 回车WinDbg 就会自动的连到微软的网站根据你的机器的情况更新的 PDB 文件,並将它保存在上面斜体部分指定的本地路径里这样你就可以确保你的符号文件版本和你机器上的文件版本一致。
如果你是通过代理上网那么你需要配置 IE 的连接设置具体方法恕不赘言。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。