摘要:.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 指定要在显示中使用列
阅读全文