现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

WinDBG命令概览(中) :元命令

2013-11-04 22:29 工业·编程 ⁄ 共 1787字 ⁄ 字号 暂无评论

元命令(Meta-Command)用来提供标准命令没有提供的常用调试功能, 与标准命令一样, 元命令也是内建在调试器引擎或者WinDBG程序文件中的. 所有元命令都已一个点(.)开始, 所以元命令也被称为点命令(Dot Command).

按照功能, 可以把元命令分成如下几类.

  • 显示和设置调试会话和调试器选项.
    • 用于符号选项的.symopt- Set Symbol Options
    • 用于符号路径的.sympath- Set Symbol Path, 和.symfix- Set Symbol Store Path.
    • 用于程序源文件的.srcpath- Set Source Path, .srcnoisy- Noisy Source Loading, .srcfix- Use Source Server
    • 用于扩展命令模块路径的.extpath- Set Extension Path
    • 用于匹配扩展命令的.extmatch- Display All Matching Extensions
    • 用于可执行文件的.exepath- Set Executable Path
    • 设置反汇编选项的.asm- Change Disassembly Options
    • 控制表达式评估器的.expr- Choose Expression Evaluator
  • 控制调试会话或者调试目标.
    • 重新开始调试会话的.restart- Restart Kernel Connection(Kernel Mode) 或 Restart Target Application(User Mode)
    • 放弃用户态调试目标(进程)的.abandon- Abandon Process
    • 创建新进程的.create- Create Process
    • 附加到存在进程的.attach- Attach to Process
    • 打开转储文件的.opendump- Open Dump File
    • 分离调试目标的.detach- Detach from Process
    • 用于杀掉进程的.kill- Kill Process
  • 管理扩展命令模块
    • 加载模块的.load- Load Extension DLL
    • 卸载模块.unload- Unload Extension DLL和.unloadall- Unload All Extension DLLs
    • 显示已加载模块的.chain- List Debugger Extensions
  • 管理调试器日志文件
    • 显示信息 .logfile- Display Log File Status
    • 打开 .logopen- Open Log File
    • 追加 .logappend- Append Log File
    • 关闭 .logclose- Close Log File
  • 远程调试
    • 用于启动remote.exe服务的.remote- Create Remote.exe Server
    • 用于启动调试引擎服务器的.server- Create Debugging Server
    • 列出可用服务器的.servers- List Debugging Servers
    • 用于向远程服务器发送文件的.send_file- Send File
    • 用于结束远程进程服务器的.endpsrv- End Process Server
    • 用于结束引擎服务器的.endsrv- End Debugging Server
  • 控制调试器
    • 让调试器睡眠一段时间的.sleep- Pause Debugger
    • 唤醒处于睡眠状态的调试器的.wake- Wake Debugger
    • 启动另一个调试器来调试当前调试器的.dbgdbg- Debug Current Debugger
  • 编写命令程序
    • 包括一系列类似C语言关键字的命令, 如
      • .if, .else, .elsif, .foreach, .do, .while. .continue, .catch, .break, .continue, .leave, .printf, .block. 在<软件调试>一书第30章的第18节有介绍命令程序的编写方法.
  • 显示或者转储调试目标数据
    • 产生转储文件的.dump- Create Dump File
    • 将原始内存数据写到文件的.writemem- Write Memory to File
    • 显示调试会话时间的.time- Display System Time
    • 显示线程时间的.ttime- Display Thread Times
    • 显示任务列表的.tlist- List Process IDs
    • 以不同格式显示数字的.formats- Show Number Formats
    • 可以列出所有元命令和每个命令的简单说明的.help- Meta-Command Help

给我留言

留言无头像?