查看当前线程的调用堆栈

kb
查看全部线程的调用堆栈
~*kb

显示分析的详细信息(通常使用此命令就可以看到调用堆栈,注意保存发布程序的pdb等文件)
!analyze -v 

继续执行
g

查看线程详细信息,例如线程入口地址
~21 (数字代表线程id)

查看变量地址
x 变量名,可以用通配符
例如
x 05memcorrupt!g_*

用给定类型查看对象
dt 类型名 地址
例如
dt CAppInfo 0x00032cb0

查看给定地址的内容
dd 地址
例如
dd 0x72726443

以下都是看内容,显示的形式不同而已
dc
du
dds
dpp
dpa
dpu

查看当前指令
u eip

查看给定地址的代码内容
u 7c80540f

查看加载的全部模块的起始地址
lm
同时包含起始和结束的信息
------------------------------------------------------------

展开当前调用栈的内容
dd esp esp+100
注意这里要用正数,注意栈的生长方向
------------------------------------------------------------
查看给定代码地址对应的模块
ln 0100156a
-----------------------------------------------------
 
顺便提一下,我们不需要等到发生异常才能去调试一个进程。任何时候都可以通过运行vsjitdebugger.exe  -p  PID 来让调试器附着到任意进程,PID表示要调试的进程的ID.
事实上,Windows任务管理器使得调试进程更加容易,我们可以打开“进程”属性页,选择一个进程,并单击鼠标右键,然后选择“Debug”.
 
 
生成dump文件可以通过设置让系统在程序错误时生成,也可以手动生成dump文件
1、如何手动生成dump文件
程序崩溃(crash)的时候,可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。

步骤:

1) 打开WinDBG并将之Attach 到crash的程序进程

2) 输入产生dump 文件的命令

WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。

选项(1): /m

命令行示例:.dump /m C:\dumps\myapp.dmp

注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。

选项(2): /ma

命令行示例:.dump /ma C:\dumps\myapp.dmp

注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。

选项(3):/mFhutwd

命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp

注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。
--------------------- 
作者:SurgePing 
来源:CSDN 
原文:https://blog.csdn.net/suxinpingtao51/article/details/11751997 
版权声明:本文为博主原创文章,转载请附上博文链接!

WinDebug的一些基本使用命令相关推荐

  1. windebug常用命令

    使用~查看所有线程 切换到一号线程:~1s 查看所有线程的托管堆栈  ~* e!clrstack 怎么查看,当前线程下,变量的信息? 对于托管代码而言,最核心的命令就是!do(dump object的 ...

  2. WinDebug 常用命令表【摘】

    #调试命令窗口 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #重要说明 (1) windbg命令分为标准命令,元命令 ...

  3. 附上windebug常用调试命令

    一.基础命令 程序重在编程思维,难在程序调试,写出了程序还不行,还必须进行调试,证明结果. WinDbg是微软开发的一款强大无比的调试器.利用它我们可以进行内核双机调试. 在调试程序之前我们要掌握如何 ...

  4. 双机调试和windbg的命令

    各位大牛以及和我一样还是菜鸟的朋友们,大家好,今天在调试驱动程序时,由于要做双机调试,所以顺便再论坛发给以后需要的朋友,相对网上其他教程我的这个 算是比较详细了,因为我是看了网上很多相关文章,他们多多 ...

  5. 关于使用WinDebug查看线程死锁问题

    最近项目接近尾声,不过项目到了测试的时候大问题来了,偶尔界面直接卡死以至于后续无法测试,初步怀疑是哪里死锁了,由于自己对WinDebug不是很熟悉,只知道WinDebug有查找内存泄露问题.线程死锁等 ...

  6. WinDebug dump

    得到了DUMP文件,如何将其中的信息拿到呢?这就需要借助工具 WinDebug了,工具下载地址:http://www.microsoft.com/whdc/devtools/debugging/def ...

  7. 如何使用windebug追踪ASL CODE

    最经遇到很多BSOD的问题,不免要学一下windebug的方法. 主要步骤如下: 在现代计算机中,硬件和固件(BIOS)都必须符合ACPI规范,以便操作系统可以控制所有模块的自动配置和电源管理. 使用 ...

  8. windebug windows 蓝屏工具

    windebug 我是在HP工程师知道这个工具,推荐一下 ,以下来自http://jono48.blog.hexun.com/20636429_d.html 得到了DUMP文件,如何将其中的信息拿到呢 ...

  9. 使用VS的命令(devenv)编译C#项目

    使用VS的命令(devenv)编译C#项目 简介 VS做为C#开发来说是非常棒的IDE工具,其功能的强大之处足以满足整个开发的要求,不过某些时候(比如考虑到要使用自动编译工具,对项目进行自动编译部署之 ...

最新文章

  1. Linux下vi编辑器命令精华版
  2. getRotationMatrix2D 函数
  3. A beginner’s guide to Cache synchronization strategies--转载
  4. mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
  5. DeFi 借贷协议 NAOS Finance 完成种子轮融资
  6. linux大文件分包压缩和批量解压命令tar // tar 排除指定目录
  7. oracle把ascii吗,oracle中ascii函数及to_char函数使用及编码间的转换
  8. IOS 归档 即序列化与反序列化
  9. 小废物在我面前痛不欲生……(图)
  10. 【优化分配】基于matlab粒子群算法求解火车票分配优化问题【含Matlab源码 1137期】
  11. Android wear浏览器,手表浏览器下载-智能手表浏览器(Wear Internet Browser)下载 1.0beta1官方版_5577安卓网...
  12. 用ntsd -c q -p PID 杀进程
  13. matlab 正负数,matlab 开根号如何同时取到正负值
  14. android Intent调用地图应用客户端
  15. 读书笔记之吴伯凡·认知方法论
  16. Android安装软件的后缀,apk是什么文件,后缀是apk是什么文件
  17. 设置 CentOS linux Numlock默认开启
  18. 简易版扫雷(C语言实现)
  19. 短信通知接口json报文开发设计总结
  20. 关于互联网金融的安全、监管

热门文章

  1. python情绪分析的意义_如何用Python和R对故事情节做情绪分析?
  2. FPGA---Spartan6系列之GTP Transceiver
  3. 2023数学建模美赛赛题思路分析 2023美赛 美国大学生数学建模数模
  4. ueditor的微软雅黑字体的样式错误
  5. 使用计算机打印汉字文档是汉字(),浙江财经学院本科社会调查汇报撰写规范.doc...
  6. 解决pscad Gfortran编译问题
  7. ERDAS 2015 界面菜单目录介绍图
  8. 把url字符串转成url对象
  9. 过滤器Filter(非常非常重要)
  10. easypoi教程_easypoi导出Excel