.exr (Display Exception Record)

.exr命令显示异常记录的内容。
.exr Address
.exr -1

参数:

  • Address
    指定异常记录的地址。如果指定-1作为地址,调试器将显示最新的异常。
环境:

模式

用户模式下,内核模式

目标

实时、 崩溃转储

平台

全部

.exr命令显示与调试器在目标计算机上遇到的异常相关的信息。显示的信息包括异常地址、异常代码、异常标志和异常参数的变量列表。 通常可以通过使用!pcr扩展命令获取地址。
下面的例子是在dmp文件里的演示
这个是一个具体异常记录地址
0:000> .exr 010fd1c8
ExceptionAddress: 694c4b4c (nvoglv32!DrvPresentBuffers+0x000c19fc)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 4592e000
Attempt to read from address 4592e000

这个地址用-1的结果

0:000> .exr -1
*** ERROR: Symbol file could not be found. Defaulted to export symbols for nvoglv32.dll -
ExceptionAddress: 694c4b4c (nvoglv32!DrvPresentBuffers+0x000c19fc)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 4592e000
Attempt to read from address 4592e000

.cxr (Display Context Record)

.cxr命令显示保存在指定地址的上下文记录。它还设置寄存器上下文。
.cxr [Options] [Address]

参数:

  • Options
    可以是以下选项的任意组合:
    /f Size---强制上下文大小等于Size的值(字节)。当上下文与实际目标不匹配时(例如,在WOW64调试期间在64位目标上使用x86上下文时),这将非常有用。如果指定的大小无效或不一致,将显示错误“无法将上下文转换为规范格式”。
    /w---将当前上下文写入内存,并显示其写入位置的地址。
  • Address
    系统上下文记录的地址。省略地址不会显示任何上下文记录信息,但会重置寄存器上下文。
 环境:

模式

用户模式下,内核模式

目标

实时、 崩溃转储

平台

全部

 
上下文记录中的信息可用于帮助调试发生未处理异常且无法使用精确堆栈跟踪的问题。.cxr命令显示指定上下文记录的重要寄存器。此命令还指示调试器将指定的上下文记录用作寄存器上下文。执行此命令后,调试器将访问此线程最重要的寄存器和堆栈跟踪。在允许目标再次执行或使用另一个寄存器上下文命令(.thread、.ecxr、.trap或.cxr)之前,此寄存器上下文将一直保持。在用户模式下,.cxr/w命令将上下文写入内存,并显示存储上下文的地址。可以将此地址传递给。

下面是一个例子

0:000> .cxr 010fd218
eax=464eea00 ebx=0c093020 ecx=000022a0 edx=0000008b esi=4592dff0 edi=0be60000
eip=694c4b4c esp=010fd6f8 ebp=010fd6fc iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206
nvoglv32!DrvPresentBuffers+0xc19fc:
694c4b4c 0f105e10 movups xmm3,xmmword ptr [esi+10h] ds:002b:4592e000=????????????????????????????????

.ecxr /.excr(Display Exception Context Record)

.ecxr命令显示与当前异常关联的上下文记录。
.ecxr

环境:

模式

仅限用户模式

目标

仅用于故障转储 (仅适用于小型转储)

平台

全部

.ecxr命令定位当前异常的上下文信息,并显示指定上下文记录的重要寄存器。此命令还指示调试器将与当前异常关联的上下文记录用作寄存器上下文。运行.ecxr之后,调试器可以访问此线程最重要的寄存器和堆栈跟踪。在启用目标执行、更改当前进程或线程或使用另一个寄存器上下文命令(.cxr或.ecxr)之前,此寄存器上下文将一直保持。

WinDbg常用命令系列---异常相关操作的更多相关文章

  1. WinDbg常用命令系列---线程相关操作~*

    ~ (Thread Status) 波浪符(~)命令显示指定线程或当前进程中所有线程的状态. ~ Thread 参数: Thread指定要显示的线程.如果省略此参数,将显示所有线程. 环境: 模式 仅 ...

  2. WinDbg常用命令系列---符号相关命令

    ld (Load Symbols) ld命令加载指定模块的符号并更新所有模块信息. ld ModuleName [/f FileName] 参数: ModuleName指定要加载其符号的模块的名称.m ...

  3. WinDbg常用命令系列---sx, sxd, sxe, sxi, sxn, sxr, sx- (设置异常)

    简介 sx*命令控制调试器在正在调试的应用程序中发生异常或发生某些事件时采取的操作. 使用形式 sx sx{e|d|i|n} [-c "Cmd1"] [-c2 "Cmd2 ...

  4. WinDbg常用命令系列---显示当前异常处理程序链!exchain

    !exchain 这个!exchain扩展命令显示当前异常处理程序链. !exchain [Options] 参数: Options下列值之一: /c  如果检测到异常,则显示与调试C++ try/c ...

  5. WinDbg常用命令系列---源代码操作相关命令

    lsf, lsf- (Load or Unload Source File) lsf和lsf-命令加载或卸载源文件. lsf Filename lsf- Filename 参数: Filename指定 ...

  6. WinDbg常用命令系列---日志操作相关命令log*

    .logopen (Open Log File) .logopen命令将事件和命令的副本从调试器命令窗口发送到新的日志文件. .logopen [Options] [FileName] .logope ...

  7. WinDbg常用命令系列---断点操作b*

    ba (Break on Access) ba命令设置处理器断点(通常称为数据断点,不太准确).此断点在访问指定内存时触发. 用户模式下 [~Thread] ba[ID] Access Size [O ...

  8. WinDbg常用命令系列---!analyze

    !analyze命令简介 这个!analyze扩展显示有关当前异常或错误检查的信息. 用户模式: !analyze [-v] [-f | -hang] [-D BucketID] !analyze - ...

  9. WinDbg常用命令系列---单步执行p*

    p (Step) p命令执行单个指令或源代码行,并可选地显示所有寄存器和标志的结果值.当子例程调用或中断发生时,它们被视为单个步骤. 用户模式: [~Thread] p[r] [= StartAddr ...

随机推荐

  1. sql特殊日期

    --a. 本月的第一天 select dateadd(mm, datediff(mm,0,getdate()), 0) as 本月的第一天 --b. 本月的最后一天 select dateadd(ms ...

  2. 依赖注入 DI 控制反转 IOC 概念 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. 如何定位 golang 进程 hang 死的 bug

    之前在 golang 群里有人问过为什么程序会莫名其妙的 hang 死然后不再响应任何请求.单核 cpu 打满. 这个特征和我们公司的某个系统曾经遇到的情况很相似,内部经过了很长时间的定位分析总结,期 ...

  4. Java之路---Day08

    2019-10-22-22:28:39 目录 1.Static静态类 2.Static内存图 3.Static静态代码块 4.Arrays类 5.Math类 Static静态类 一旦使用static修 ...

  5. webpack-dev-server提示css模块解析失败,但已经装了css-loader

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/a117616/article/detai ...

  6. 对于flex布局的使用心得

    弹性盒子flex: 对于客户端的布局非常有用,不管是平均分配space-around这个属性还是两端对齐space-betwee在页面布局的时候都会有很好的表现. 对于部分内容区域中,具有很多大致内容 ...

  7. Oracle大表改为分区表及表空间切换方案

    Oracle大表改为分区表及表空间切换方案 一.            背景 由于之前数据库表和索引放在一个表空间导致表空间数据文件增长太快,文件数量即将达到Oracle表空间的限制,需要对表(没有分 ...

  8. Flask 进阶

    OOP 面向对象反射 # __call__方法 # class Foo(object): # def __call__(self, *args, **kwargs): # return "i ...

  9. CSS3 小黄人案例

    使用 CSS3 和 HTML5 制作一个小黄人. 结构代码: <div class="wrap"> <!-- 头发 --> <div class=&q ...

  10. 【转】【Salesforce】salesforce 零基础学习(十七)Trigger用法

    看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...