Windbg 命令 总结

基本调试:
        0. 内置的帮助命令:
        ? 显示常用的命令
        ? /D 显示常用命令和DML
        .help 显示.命令
        .help /D   以DML形式显示'.'命令(顶部会给出链接)
        .help /D a* 以DML形式显示a开头的'.'命令 (*为通配符)
        .hh 打开帮助文件
        .hh dt 打开帮助文件,并在索引定位到 dt命令

        version 显示调试器以及加载扩展版本信息
        vertarget 显示目标计算机的版本
        n [8|10|16] 设置调试器数基,8进制,10进制等

        .cls 清空界面

1. 常用'.'命令
        .srcpath 显示或设置源码的检索路径
        .srcpath+ 目录 将目录添加到检索到的源码路径
        .lines [-e|-d|-t] 切换源码行的支持,可用,禁用,切换
        
        .srcnoisy 1 显示源码的搜索过程  .srcnoisy 0 不显示源码的搜索过程。
        
        小写'L'的命令
                l+l,l-l 显示行数
                l+o, l-o 除了[s]隐藏一切
                l+s, l-s 源码和行数
                l+t, l-t 源码模式对汇编模式

        例如:
                .srcpath C:\Users\Administrator\Desktop\WinDbug\TestDebug1 
                添加源码的路径,模块可以与源码结合,看到源码中的调试过程

                .exepath C:\Users\Administrator\Desktop\exefiles
                在调试dump文件时才会用得上可执行映像路径。需要将这个路径设置为调试的exe,dll,sys等可执行文件的路径。

        调试日志
                .logopen /t d:\logs\mylogfile.txt 打开日志文件 
                .logappend /t d:\logs\mylogfile.txt 向日志文件中追加 日志
                .logclose 关闭日志文件
                注:在关闭一次调试时,要关闭日志文件。

        调试会话:
                .attach  PID (在调试一个进程中),附加到一个进程
                .detach 结束调试会话,但是保留用户模式目标程序运行
                q / qq 结束调试会话,并终止目标程序
                .restart 重启目标程序

2. 符号相关
        ld 模块名 加载指定模块符号
        ld * 加载所有模块的符号
        !sym 获取符号加载情况( !sym noisy 显示搜索符号过程,!sym quiet 默认)

        x 可以列举模块的名字
                x [选项] 模块!符号
                选项: /t 带数据类型
                             /v 详情,包括符号类型与大小
                             /a 按照地址分类
                             /n 按照名称分类
                             /z 按照大小分类(函数在内存中的大小)

                x [选项]模块名字!符号匹配表达式   可以查找一些函数名字,以方便下断点
                比如: x  user32!GetWindowT*   列举出 USER32.dll中的 GetWindowT开头的所有的函数。

                x /t /v notepad!*  用于列举出notepad模块的public函数以及变量

        ln 地址 列出最近的符号,显示给出地址附近的符号,用于确定指针指向位置以及在损坏栈中,确定栈的调用程序。
                ln 01001b90 列举出地址01001b90附近的符号

        .sympath  路径 设置符号路径
        .sympath+ 路径 添加符号路径
        .symfix 路径 设置符号存储路径
        .symfix+ 保存路径 附加到现有路径,当作符号下载流存储位置

        .reload 为所有模块重载符号信息
        .reload [/f|/v] /f 强制立即加载符号, /v 详细模式
        .reload [/f|/v] 模块 同上,只是针对特定模块
        .reload /d 重新加
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值