WINDBG分析CrashDump配置

简介: 该文章参考网上内容,加上一些些自己的使用经验。Ø  配置符号路径WinDbg主菜单——File——Symbol Search Path输入框中的输入规则如下:1)配置程序对应sy...

该文章参考网上内容,加上一些些自己的使用经验。

Ø  配置符号路径

WinDbg主菜单——File——Symbol Search Path


输入框中的输入规则如下:

1)配置程序对应symbol文件的路径

2)多个路径之间使用分号隔开

3)配置微软符号文件的路径:

                   srv*"D:\Symbols"*http://msdl.microsoft.com/download/symbols

                   "srv"符号服务器的标识

                   "D:\Symbols"本地缓存路径,windbg会将使用到的符号文件下载存放在该目录,并在下次执行时,优先寻找该目录

                  " http://msdl.microsoft.com/download/symbols"符号服务器地址,该地址为微软符号服务器地址

4)微软符号地址离线下载地址:

                   "http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx"

5)当前程序的符号需要在编译器设置编译过程中生成符号文件,VC6.0需要配置,配置方式为:项目设置——链接——常规——勾选“产生调试信息”,(本人现用汉化版,英文版设置方法相同)

 

Ø  配置源码位置

1)主菜单——FILE——Source Search Path

2)多个源码路径使用分号隔开

3)使用源码调试,必须设置编译器在编译的过程中禁用优化。(现在没有发现其它办法,因此感觉源码调试在CrashDump分析中,用处不是很大,,待学习中)

Ø  相关指令

操作指令

!analyze -v

自动对.dmp做基本的分析

.ecxr

检查EXCEPTION_RECORD

 

Symbol命令

ld module

加载pdb

.reload /f

强制加载所有模块

lm

查看已加载的模块列表

x module!symbol

查询指定名称的symbol

ln address

显示指定地址对应的symbol

 

执行流程分析

~0s

切换线程

kb/kv/k..

显示调用堆栈

u/ub/uf

反汇编代码

dds

查看一段地址中的数据,并显示其对应的symbol

 

 

 

数据分析

r

查看/修改寄存器

?

计算表达式的值

.expr

表达式切换

db/dd/du/da

显示内存中的数据:分别按照byte/dowd/unicode string/ansi string

dv

显示局部变量列表

dt

显示指定symbol的结构

 

 



分析效果图:

  报错代码截图:

WinDbg分析情况截图:

目录
相关文章
|
存储 缓存 算法
【CMake 基础教程 】深入理解CMake变量:类型、原理及最佳实践
【CMake 基础教程 】深入理解CMake变量:类型、原理及最佳实践
384 0
|
XML 前端开发 JavaScript
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
258 0
|
10月前
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
537 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
数据采集 数据安全/隐私保护 开发者
|
11月前
|
缓存
在 setup 函数中使用 computed 计算属性
【10月更文挑战第23天】在 Vue3 中,`computed` 计算属性为我们提供了一种方便且高效的方式来处理基于其他响应式数据的派生数据。在 `setup` 函数中使用 `computed` 计算属性,可以让我们更好地组织和管理组件的逻辑。
|
Linux
【Linux 或Mac系统】自动生成项目结构目录并放在README.md文件中
如何在Linux或Mac系统中使用tree命令自动生成项目结构目录,并将其格式化后放入项目的README.md文件中以展示项目结构。
374 1
|
Linux
linux播放器
Linux系统提供多种音乐和视频播放器,如Iceplayer(原Splayer),支持多种音频格式及丰富功能,被誉为Linux版千千静听;Amarok是KDE桌面的强大音乐播放器;Rhythmbox是GNOME的默认播放器,简洁实用;Clementine是跨平台且源自Amarok 1.4的播放器;VLC是跨平台的强大播放器,支持众多音频和视频格式;Audacious则是一款简约轻便的播放器,适合喜欢Winamp风格的用户。每款播放器都有其特色,用户可根据需求选择。
266 3
linux播放器
|
数据挖掘 语音技术
3D-Speaker说话人任务的开源项目问题之视觉信息在说话人日志技术中的问题如何解决
3D-Speaker说话人任务的开源项目问题之视觉信息在说话人日志技术中的问题如何解决
145 0
|
消息中间件 存储 Kafka
Flink 实时数仓(二)【ODS 层开发】
Flink 实时数仓(二)【ODS 层开发】