vs调试技巧(下)

本文介绍了PDB文件的作用,包括代码信息、堆栈状态查看,以及如何生成和加载PDB文件。同时,解释了dump文件用于分析程序崩溃的原因,并指导如何生成。还探讨了VS中定位崩溃点、远程调试以及应用ApplicationVerifier检测堆异常。最后,提到了Visual Leak Detector用于检测内存泄漏的工作原理。
摘要由CSDN通过智能技术生成

什么是pdb文件

•       PDB文件是“程序数据库”Program Data Base的简称,包含的程序的代码信息

•       通过这个文件我们可以查看对应断点的位置,堆栈信息等内容

•       使用PDB使得我们无需代码也可以掌握程序的堆栈运行状态。

PDB文件

链接器自动生成

文件由两个部分构成,私有符号数据(private symbol data)和公共符号表(public symbol table

私有符号数据(Private Symbol Data)  函数

全局变量   局部变量  用户定义的结构体,类,数据类型

源文件的名称和源文件中每个二进制指令的行号

公共符号表(Public Symbol Table)

静态函数   全局变量(extern)

如何得到pdb文件

•       通常当我们编译代码后会自动生成一个PDB文件。

•       在VS的工程属性面板中选择“链接器”-》“调试”,则可以设置是否对pdb进行输出,并指定pdb的输出路径。

什么是dump文件

dump文件是附加堆栈信息的存储文件的简称,文件扩展名是”.dmp”,通过dump文件我们可以得到程序运行某一时刻的堆栈数据。

当我们程序意外崩溃后,通常程序会立即中断运行,此时我们生成这一时刻的dump文件就可以通过此时的堆栈进行分析,找到崩溃的代码并分析原因。

如何得到dump文件

•       在vs中进入

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值