由于c++ std::exception在windbg里面调用堆栈显示不正确,可以通过加载了系统pdb和软件pdb后,!analyze -v可以分析出来,所有需要配置系统pdb。

1、把exe,pdb放到同一个目录下。
2、加载dmp文件(拖动dmp文件到windbg)。
3、设置pdb路径:File ->Symbol File Path,比如D:\Desktop\3dLayer,记得加上srv*加载微软dll的pdb(如果没有,可以打开vs的选项>调试>符号,勾选Microsoft符号服务器,随便运行项目自动下载),分号隔开。

4、(如果出现pdb加载不了的情况)使用!sym noisy强制加载,再使用 .reload /f 程序名.exe重新加载。

5、使用lm vm 3dlayer或者.sympath命令查看是否加载正确的pdb文件。
格式如下 00007ff6`6b5d0000 00007ff6`6c61d000 程序名 C (private pdb symbols) d:\desktop\程序名.pdb
6、使分析异常。
7、其他命令:
.exr -1 异常信息
kn、kbn、kv或kp 查看函数调用堆栈
.ecxr 切换到异常的上下文

windbg 调试 c++ std::exception的更多相关文章

  1. 调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令

    调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (二)使用Windbg调试SQLSERVER ...

  2. 开源项目asmjit——调用自定义方法demo以及windbg调试

    asmjit是一个开源项目,使用它可以将代码即时的编译成机器码,也就是所谓的jit技术. 初次接触这个项目,编写了一个demo,学习它的使用方法. 现将编写的demo以及调试jit生成的机器码的过程总 ...

  3. WinDbg 调试.net程序

    WinDbg支持以下三种类型的命令: ·        常规命令,用来调试进程 ·        点命令,用来控制调试器 ·        扩展命令,可以添加叫WinDbg的自定义命令,一般由扩展dl ...

  4. WinDBG调试.NET程序示例

    WinDBG调试.NET程序示例 好不容易把环境打好了,一定要试试牛刀.我创建了一个极其简单的程序(如下).让我们期待会有好的结果吧,阿门! using System; using System.Co ...

  5. windbg调试堆破坏

    堆破坏 所谓的堆破坏,是说没控制好自己的指针,把不属于你分配的那块内存给写覆盖了.这块内存可能是你程序的数据,也可能是堆的管理结构.那么这个会导致怎样的后果呢?可能的情况我们来yy下 把程序里的计算结 ...

  6. windbg调试托管代码 .Net clr

    现在很多的程序都是多语言混合编程的,比如我司的产品,就是用C++/.net clr混合编制的.那么当我们调试这样的程序时,一定要注意,比如有时我们只看到c++的栈和名称,而.net clr的代码确看不 ...

  7. WinDBG 调试命令大全

    转载收藏于:http://www.cnblogs.com/kekec/archive/2012/12/02/2798020.html  #调试命令窗口 ++++++++++++++++++++++++ ...

  8. 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置

    调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (三)使用Windbg调试SQLSERVER ...

  9. WinDbg调试.NET程序入门

    俗话说:万事开头难! 自从来到新公司遇到性能问题后,需要想办法解决这个问题,但是一直没有合适的性能分析工具,然后找到StevenChennet 大神帮忙,他用WinDbg工具远程帮我分析了一个 dum ...

  10. 用WinDbg调试Windows和驱动程序

    由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/h ...

随机推荐

  1. [USACO1.5] 八皇后 Checker Challenge 题解

    [USACO1.5] 八皇后 Checker Challenge 题目描述 一个如下的 \(6 \times 6\) 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括 ...

  2. 利用AutoGpt将任何模型支持o1模型的推理实现

    利用AutoGpt将任何模型支持o1模型的推理实现 相信大家都对于OpenAI最新出的o1模型都非常关注,它已经能通过推理让回复的效果更加理想, 但是目前o1的限制太大,而且使用o1至少也是需要购买O ...

  3. 服务器Linux的一些常用命令,收藏备用!

    在Linux服务器的管理和维护过程中,掌握一些常用的命令是非常必要的.这些命令不仅可以帮助你更好地了解和控制系统,还能提高工作效率,减少错误发生的概率.本文将详细介绍一些在Linux服务器上常用的命令 ...

  4. Vite2 如何设置打包后文件名

    vite.config.js build: { rollupOptions: { output: { entryFileNames: `assets/[name].${timestamp}.js`, ...

  5. vue 赶鸭子上架入门笔记(一) 安装开发环境

    准备接手一个 vue 的前端项目,从零开始学习 vue.目标不高大上,能看得懂代码,能进行简单的修改,改完能打包和部署. 首先解决 vue 开发环境的准备.访问 Node.js 官方网站,下载适合你操 ...

  6. 为 AntdUI 扩展一个 MessageBox 方法

    AntdUI是个很不错的开源 WinFrom 界面组件,使用中感觉消息对话框调用有点麻烦,于是按照 MessageBox.Show 的使用习惯,增加了一个扩展方法来调用,废话不多说,直接上代码. 1 ...

  7. USB3.0与USB2.0编码方式的区别

    首先,USB3.0传输的编码方式和USB2.0本质上是不同的. 1.USB3.0的编码方式 USB 3.0采用的是8b/10b编码方式,由于高速传输,信号干扰的问题,USB 3.0采用 8/10bit ...

  8. 专场直播预约 | 邀您探讨KaiwuDB 离散制造业场景解决方案

    先导语 近日,KaiwuDB 携手山东重工集团有限公司(以下简称:山东重工)  重磅发布"离散制造业解决方案".该方案以 KaiwuDB 就地运算技术专利技术为底座,搭建了&quo ...

  9. 小程序的image组件

    mode属性:用来制定图片的裁剪和缩放模式:常用属性如下:

  10. .NET 实现的零部件离散型 MES+WMS 系统

    前言 随着制造业的不断发展,企业对于生产效率和管理水平的要求越来越高. EasyMES 是一款基于 .NET 6 开发的零部件离散型 MES(Manufacturing Execution Syste ...