Windbg用法详解
工作空间
WinDBG的工作空间中保存了以下几种信息
- 调试会话状态: 包括断点,打开的源文件,用户定义的别名(alias)等。
- 调试器设置:包括符号文件路径,可执行映像文件路径,源文件路径,用I+/I-命令设置的源文件选项,日志文件设置,通过启动内核调试对话框设置内核调试连接设置,最近一次打开文件对话框所使用的路径和输出设置。
- WinDBG图形界面信息:包括WinDBG窗口的标题,是否自动打开反汇编窗口,默认字体,WinDBGM窗口在桌面的位置,打开的WinDBGM子窗口,每个打开窗口的详细信息等。
WinDBGM默认使用注册表来保存工作空间设置,其路径为:
HKEY_CURRENT_USER\Software\Microsoft\WinDBG\Workspaces
命令概览
WinDBG包括3类命令:标准命令、元命令、扩展命令。
标准命令提供适用于所有调试目标的基本调试功能,都是WinDBGM调试器内部实现的,不需要加载任何扩展模块。 标准命令第一个字符不分大小写,第二个字符可能区分。
元命令是内建在调试器引擎或者WinDBG程序文件中的。所有元命令都以一个点.开始,所以也被称为点命令。
扩展命令是是现在动态加载的扩展模块中的。扩展命令,以叹号!开始,叹号在英文中读作bang,因此扩展命令也被称为Bang Command
扩展命令的完整格式是
![扩展模块名].<扩展命令名> [参数]
扩展模块名可以省略。
输入和执行命令
要点
可以在同一行输入多条命令,用分号;作为分隔符
直接按回车键可以重复上一条命令。
可以使用Ctrl+Break来终止一个长时间未完成的命令。如果使用KD或者CDB,那么用Ctrl+C.
按Ctrl+Alt+V热键可以启用WinDBGM的详细输出模式,再按一次恢复到本来的模式。
Windbg用法详解的更多相关文章
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- @RequestMapping 用法详解之地址映射
@RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- mysql中event的用法详解
一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...
- CSS中伪类及伪元素用法详解
CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- AngularJS select中ngOptions用法详解
AngularJS select中ngOptions用法详解 一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...
- systemctl命令用法详解
systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...
- CSS3的@keyframes用法详解:
CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...
随机推荐
- angular js 自定义js错误处理(Angularjs js error handler)
使用AngularJS的时候,对JS错误如何自定义处理?(比如用Google Analytics记录angularjs使用中出现的js错误) AngularJS自带一个错误处理service:$exc ...
- c++内存分布
http://www.oschina.net/translate/cpp-virtual-inheritance 编译器会加入一些代码, 指针的转换操作编译器会自动加偏移
- 禁止VMware虚拟机与Host的时间同步
禁止VMware虚拟机与Host的时间同步 1. 查看虚拟机是否安装了 VMware Tools, 如果有安装,则将 VMware Tools 属性窗口的“选项”-->“其他选项”中“虚拟机与宿 ...
- python:threading多线程模块-创建线程
创建线程的两种方法: 1,直接调用threading.Thread来构造thread对象,Thread的参数如下: class threading.Thread(group=None, target= ...
- CAD二次开发
用C#有一段时间了,由于单位需要,开始接触CAD二次开发,网上一搜,加入CAD开发的群,零零碎碎看了一些文章和博客,没有系统地的知识,能解决一些小问题.最近开始系统学习,再次推荐两本书,一本事纸质版的 ...
- C语言小练习四
题目要求:输入N个数,输出该数列中第k个最大者. 程序源码: #include <stdio.h> #include <string.h> void printResult(i ...
- Android adb命令 一
adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.adb的工作方式比 ...
- HTTP版本进化过程
http版本之间的区别以及变化过程[更新中...]
- UDP及其组播,接收发送封装
1.Receiver public class Receiver { public delegate void HeartBeat(byte[] data); public event HeartBe ...
- install mysql using binary and configure manu
(1)下载,解压 (2)初始化数据库 ./scripts/mysql_install_db --defaults-file=../my.cnf --user=guofeng (3)启动命令 ./bin ...