摘要:!exchain 这个!exchain扩展命令显示当前异常处理程序链。 参数: Options下列值之一: /c 如果检测到异常,则显示与调试C++ try/catch异常相关的信息。 /C 显示与调试C++try/catch异常相关的信息,即使在没有检测到异常的情况下也是如此。 /f 显示通过遍历
阅读全文
摘要:!error 这个!error扩展命令解码并显示有关错误值的信息。 参数: Value指定以下错误代码之一:Win32、Winsock、NTSTATUS、NetAPI Flags如果标志设置为1,则错误代码将作为ntstatus代码读取。 DLL Windows 2000 Ext.dll Windo
阅读全文
摘要:x (Examine Symbols) x命令在所有与指定模式匹配的上下文中显示符号。 参数: Options特定符号搜索选项。您可以使用以下一个或多个选项:/0 只显示每个符号的地址。 /1 只显示每个符号的名称。 /2 只显示每个符号 (而非数据类型) 的地址和名称。 /D 使用调试器标记语言显
阅读全文
摘要:.frame (Set Local Context) .frame命令指定使用哪个本地上下文(作用域)解释本地变量或显示当前本地上下文。 参数: /c将指定的帧设置为当前本地重写上下文。此操作允许用户访问调用堆栈中任何函数的非易失性寄存器。 /r显示有关指定本地上下文的寄存器和其他信息。 Frame
阅读全文
摘要:.formats (Show Number Formats) .formats命令在当前线程和进程的上下文中计算表达式或符号,并以多种数字格式显示它。 参数: expression指定要计算的表达式。 环境: 模式 用户模式下,内核模式 目标 实时、 崩溃转储 平台 全部 计算的表达式以十六进制、十
阅读全文
摘要:.cls (Clear Screen) .cls命令清除调试器命令窗口显示。 环境: 模式 用户模式下,内核模式 目标 实时、 崩溃转储 平台 全部 清屏前 清屏后
阅读全文
摘要:!address 这个!address扩展命令显示有关目标进程或目标计算机使用的内存的信息。 用户模式: 内核模式: 参数: Address仅显示包含地址的地址空间区域。 -summary仅显示摘要信息。 -f:F1, F2, ...仅显示由筛选器f1、f2等指定的区域。以下筛选器值通过目标进程使用
阅读全文
摘要:.logopen (Open Log File) .logopen命令将事件和命令的副本从调试器命令窗口发送到新的日志文件。 .logopen [Options] [FileName] .logopen /d 参数: Options下列任一选项:/t 将带有当前日期和时间的进程id附加到日志文件名中
阅读全文
摘要:.effmach (Effective Machine) .effmach命令显示或更改调试器使用的处理器模式。 .effmach [MachineType] 参数: MachineType指定调试器用于此会话的处理器类型。如果省略此参数,调试器将显示当前计算机类型。您可以输入下列机器类型之一。 计
阅读全文
摘要:书接上文《C++ EH Exception(0xe06d7363) 抛出过程》,下面我们讲下,VC++是如何catch到异常且处理的。 我们知道,在VC++里,C++异常实现的底层机制还是SEH,所以,我们将程序跑起来观察 上图红框框起来的部分就是编译器安装了异常处理链,且将其设置位最后一个节点,也
阅读全文
摘要:u, ub, uu (Unassemble) u*命令显示内存中指定程序代码的汇编转换。不要将此命令与~u(解冻线程)命令混淆。 参数: Range指定包含要反汇编的指令的内存范围。如果使用b标志,则必须使用“address llength”语法而不是“address1 address2”语法指定范
阅读全文
摘要:e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (Enter Values) e*命令将您指定的值输入内存。不要将此命令与~e(Thread-Specific Command)限定符混淆。 参数: Address指定输入值的起始地址。调试器将替换地址和每个后续内
阅读全文
摘要:C++ EH Exception是Windows系统VC++里对c++语言的throw的分类和定义,它的代码就是0xe06d7363。在VC++里其本质也是SEH结构化异常机制。在我们分析用户崩溃的例子中经常会遇到它。一般情况下,遇到它,是我们代码里用throw抛出异常后没有处理导致程序崩溃。下面分
阅读全文
摘要:.exr (Display Exception Record) .exr命令显示异常记录的内容。 .exr Address .exr -1 参数: Address指定异常记录的地址。如果指定-1作为地址,调试器将显示最新的异常。 环境: 模式 用户模式下,内核模式 目标 实时、 崩溃转储 平台 全部
阅读全文
摘要:简介 KiUserExceptionDispatcher 是SEH分发器的用户模式的负责函数。当一个异常发生的时候,该异常将生成一个异常事件,内核检查该异常是否是由于执行用户模式代码导致的。如果是这样的话,内核修改栈上的trap frame,因此当内核从中断或者异常返回的时候,线程将从KiUserE
阅读全文
摘要:!analyze命令简介 这个!analyze扩展显示有关当前异常或错误检查的信息。 用户模式: !analyze [-v] [-f | -hang] [-D BucketID] !analyze -c [-load KnownIssuesFile | -unload | -help ] 内核模式:
阅读全文
摘要:lsf, lsf- (Load or Unload Source File) lsf和lsf-命令加载或卸载源文件。 参数: Filename指定要加载或卸载的文件。如果此文件不在从中打开调试器的目录中,则必须包含绝对路径或相对路径。文件名必须遵循Microsoft Windows文件名惯例。 ls
阅读全文
摘要:ld (Load Symbols) ld命令加载指定模块的符号并更新所有模块信息。 参数: ModuleName指定要加载其符号的模块的名称。modulename可以包含各种通配符和说明符。 /f FileName更改为匹配项选择的名称。默认情况下,模块名是匹配的,但使用/f时,文件名是匹配的,而不
阅读全文
摘要:lm (List Loaded Modules) lm命令显示指定的加载模块。输出包括模块的状态和路径。 参数: Options以下选项的任意组合:D 使用调试器标记语言显示输出。o 仅显示加载的模块。l 仅显示其符号信息已加载的模块。v 显示详细信息。 显示所包括的符号文件名称、 图像文件名称、
阅读全文
摘要:p (Step) p命令执行单个指令或源代码行,并可选地显示所有寄存器和标志的结果值。当子例程调用或中断发生时,它们被视为单个步骤。 用户模式: 内核模式: 参数: Thread指定要继续执行的线程。所有其他线程都被冻结。只能在用户模式下指定线程。 r 打开和关闭寄存器和标志的显示。默认情况下,将显
阅读全文
摘要:dv (Display Local Variables) dv命令显示当前作用域中所有局部变量的名称和值。 参数: Flags显示其他信息。可以包括以下任何区分大小写的标志:/f <addr>:允许您指定任意函数地址,以便可以查看任何代码的参数和局部变量。它关闭值显示并暗示/v。/f标志必须是最后一
阅读全文
摘要:dt (Display Type) dt命令显示有关局部变量、全局变量或数据类型的信息。这可以显示有关简单数据类型以及结构和联合的信息。 用户模式下: 内核模式下: 参数: Processor指定运行包含所需信息的进程的处理器。只能在内核模式下指定处理器。 DisplayOpts指定下表中给定的一个
阅读全文
摘要:dg (Display Selector) dg命令显示指定选择器的段描述符。 参数: FirstSelector指定要显示的第一个选择器的十六进制选择器值。 LastSelector指定要显示的最后一个选择器的十六进制选择器值。如果省略,则只显示一个选择器。 此命令最多只能显示256个选择器。常用
阅读全文
摘要:命令dds, dps, dqs显示给定范围内的内存内容。假定该内存是符号表中的一系列地址。相应的符号也会显示出来。 参数: Options指定一个或多个显示选项。可以包括以下任何选项,但不能指示多个/p*选项:/c Width 指定要在显示中使用列的数。 如果省略,默认列数取决于显示类型。 由于这些
阅读全文
摘要:命令dda, ddp, ddu, dpa, dpp, dpu, dqa, dqp, 和 dqu在指定位置显示指针,取消对该指针的引用,然后以各种格式显示结果位置的内存。 参数: Options指定一个或多个显示选项。可以包括以下任何选项,但不能指示多个/p*选项:/cWidth 指定要在显示中使用列
阅读全文
摘要:d*命令显示给定范围内的内存内容。 参数: Options指定一个或多个显示选项。可以包括以下任何选项,但不能指示多个/p*选项:/cWidth:指定要在显示中使用的列数。如果省略此选项,则默认列数取决于显示类型。/p:(仅限内核模式)使用物理内存地址进行显示。范围指定的范围将从物理内存而不是虚拟内
阅读全文
摘要:ba (Break on Access) ba命令设置处理器断点(通常称为数据断点,不太准确)。此断点在访问指定内存时触发。 用户模式下 内核模式下 参数: Thread指定断点应用于的线程 ID指定标识断点的可选数字。如果不指定ID,则使用第一个可用的断点编号。您不能在BA和ID号之间添加空格。每
阅读全文
摘要:~ (Thread Status) 波浪符(~)命令显示指定线程或当前进程中所有线程的状态。 参数: Thread指定要显示的线程。如果省略此参数,将显示所有线程。 Thread指定要显示的线程。如果省略此参数,将显示所有线程。 环境: 模式 仅限用户模式 目标 实时、 崩溃转储 平台 全部 可以在
阅读全文