• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2025-04-06 22:27 Aet 隐藏边栏 |   抢沙发  5 
文章评分 1 次,平均分 5.0

!analyze -v

FAULTING_IP

  1. 显示发生故障时的指令指针

EXCEPTION_RECORD

  1. 显示此崩溃的异常记录
  2. 也可以通过.exr查看

BUGCHECK_STR

  1. 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃
  2. 在用户模式调试中,将显示异常代码

DEFAULT_BUCKET_ID

  1. 显示了该故障属于的失败的一般类别

LAST_CONTROL_TRANSFER

  1. 显示堆栈上的最后一个调用
  2. 在这种情况下,地址为0x01050963的代码调用了0x77F97704的函数
  3. 可以将这些地址与LN(列表最近的符号)命令一起使用这些地址来确定这些地址位于哪些模块和功能中

STACK_TEXT

  1. 显示故障组件的堆栈跟踪

FOLLOWUP_IP

  1. 当这个分析命令确定可能导致错误的指令时,它将其显示在本字段中

STACK_COMMAND

  1. 显示用于获得stack_text的命令

ln

概述

/D

  1. 指定输出使用DEBUGGER标记语言(DML)显示
    1. DML输出包含一个链接,您可以使用该链接来探索包含最近符号的模块
    2. 它还包括一个链接,您可以使用该链接来设置断点

lm

概述

  1. LM命令显示指定的已加载模块。输出包括模块的状态和路径

D

  1. 使用调试器标记语言显示输出

o

  1. 仅显示加载模块

l

  1. 仅显示其符号信息已加载的模块\

v

  1. 该显示包括符号文件名,图像文件名,校验和信息,版本信息,日期邮票,时间戳记以及有关模块是否为管理代码(CLR)的信息

u

  1. (仅内核模式)仅显示用户模式符号信息

k

  1. (仅内核模式)仅显示内核模式符号信息

e

  1. 仅显示具有符号问题的模块
  2. 这些符号包括没有符号和模块的模块,其符号状态为ctm或导出。有关这些符号的更多信息,请参见符号状态缩写。

c

  1. 显示校验和数据

1m

  1. 减少输出,因此除了模块的名称外,什么都没有
  2. 如果您使用.foreach令牌将命令输出输送到另一个命令的输入中,则此选项将很有用。

sm

  1. 按模块名称而不是按开始地址对显示器进行分类
  2. 此外,您只能包含以下选项之一。如果您不包含以下任何选项,则显示包含符号文件名
    1. i显示图像文件名
    2. f显示完整的图像路径。 (除非您发布了.reload -s命令,否则此路径始终匹配在初始加载通知中显示的路径。)当您使用f时,不显示f,符号类型信息将不会显示。
    3. n显示图像名称。当您使用n时,不会显示符号类型信息。
    4. p显示映射的图像名称。当您使用p时,不会显示符号类型信息。
    5. t显示文件时间戳记。当您使用t时,不会显示符号类型信息。

~

概述

  1. 显示当前进程中指定线程或所有线程的状态

~e

  1. 为特定线程或目标进程中的所有线程执行一个或多个命令

~f

  1. 冻结了给定的线程,导致其停止并等待直到未冻结
  2. 冻结后,该线程将不再被调度执行,调试器会阻止其获得CPU时间片
    1. 常用于排查线程间的竞争问题或隔离异常线程
  3. 冻结是调试器内部行为,不影响线程的挂起计数

~u

  1. 解冻给定线程

~n

  1. 挂起指定线程
  2. 挂起线程通过增加挂起计数(Suspend Count),当计数≥1时线程暂停执行

~m

  1. 恢复指定线程

~s

  1. 切换线程

a

概述

  1. 汇编32x86指令助记符并将结果指令代码放入内存

参数

  1. 地址
    1. 指定内存中存放结果代码的块的起始位置

ad

概述

  1. 从别名列表中删除一个别名

/q

  1. 静默模式, 如果别名不存在,隐藏错误消息

ah

概述

  1. 控制特定地址的断言处理状态

ahb

  1. 如果断言在指定的地址失败,则闯入调试器

ahi

  1. 忽略指定地址的断言失败

ahd

  1. 删除指定地址的任何断言处理信息。此删除使调试器返回其该地址的默认状态

ahc

  1. 删除当前进程的所有断言处理信息

ah

  1. 显示当前断言处理设置

al

概述

  1. AL命令显示当前定义的用户命名别名的所有列表

ba

概述

  1. asaS命令定义新的别名或重新定义现有的别名

ad

概述

  1. 删除别名

/q

  1. 静默模式

ba

概述

  1. 设置硬件断点,监视内存访问(读/写/执行)
  2. CPU最多支持4个硬件断点

参数

  1. Accesse(执行)、r(读/写)、w(写)
  2. Size:监控的字节数(1/2/4/8,需地址对齐)

bc

概述

  1. 清除指定断点或全部断点

bd

概述

  1. 临时禁用断点(保留配置但不触发)

be

概述

  1. 重新启用被禁用的断点

bl

概述

  1. 列出所有已设置的断点及其状态(启用/禁用/延迟)

bp

概述

  1. 在指定地址或符号处设置软件断点(通过插入INT 3指令实现)
  2. 适用于已加载模块的固定地址(如 bp 0x401000bp MyApp!main
    1. 模块重加载后地址可能失效,需重新设置

bu

概述

  1. 设置延迟断点,在符号解析后自动绑定地址
  2. 块未加载时预先设置断点(如驱动调试)
  3. 代码热更新后自动更新断点地址

bm

概述

  1. 通过通配符批量设置符号匹配的断点

br

概述

  1. 设置条件递归断点,仅在特定条件下触发(需结合脚本或扩展)

bsc

概述

  1. 在源代码行号处设置断点(需符号和源文件路径支持)

c

概述

  1. 用于比较两个内存区域的内容

d

概述

  1. 默认按最近使用的格式(如上次使用的 dbdd 等)显示内存内容
  2. 若未指定格式,默认以十六进制字节和 ASCII 字符混合显示

da

概述

  1. ASCII 字符串格式显示内存内容,自动识别字符串结尾的 \0

db

概述

  1. 字节(1字节) 为单位显示内存,并附带右侧的 ASCII 字符转换(非可打印字符显示为 .

dc

概述

  1. 双字(4字节) 为单位显示内存,并在右侧尝试解析为 ASCII 字符串(类似 ddda 的结合)

dd

概述

  1. 双字(4字节) 为单位显示内存,仅显示十六进制值,无字符转换

dD

概述

  1. 双精度浮点数(8字节)格式显示内存

df

概述

  1. 单精度浮点数(4字节)格式显示内存

dp

概述

  1. 指针大小(32位系统为4字节,64位系统为8字节)显示内存,并尝试解析为符号地址(如函数名)

dq

概述

  1. 四字(8字节) 为单位显示内存的十六进制值

du

概述

  1. Unicode 字符串(宽字符,每字符2字节)格式显示内存

dw

概述

  1. 字(2字节) 为单位显示内存的十六进制值

dW

概述

  1. 类似 du,但显示格式可能包含更多调试信息

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2025-04-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享