WinDbg 调 试 入门 Living 1 使用方式 1 .1 启动进程 通 过 菜 单 File->Open Executable 启 动 ,为了接近常用启 动 环境,最好把 Start directory设置为进程所在目录。 1 .2 注入进程 通 过 菜 单 File->Attach to a Process 注入到当前运行的进程中。 1 .3 系统默认调试器 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug 修 改 其 中 的 Debugger 项 ""C:\WinDbg\windbg.exe"" -p %ld -e %ld 如 果 系 统 中 任 意 进 程 发 生 崩 溃 ,则自动调用系 统 默认调试器注入到该进 程 中 。如 果 Auto取值为 1,不提示用户直接进 入。 1 .4 程序启动时自动加载调试器 当任 意 进 程 以任 意 方式启动时,自动加载调试器并注入到该进 程 中 。 例如 有 loader.exe 加载 game.exe,而且 game.exe 必须由 loader 加载才能正常运行。如 果 game.exe 在启动过程 中 出现错误,希望调试 game.exe 的 启动过程 ,可使用本方法。 运行 WinDbg 所附带的 工具 Global Flags。 请 注 意 ,在 Image 编 辑 框 中 只 能 输 入 进 程 的 文 件 名 ,不 能 包 括 路 径 信 息 。 1.5 使用 AdPlus 脚本自动捕捉错误 使 用 WinDbg 附 带 的 AdPlus 脚 本 监 视 进 程 ,如 果 进 程 发 生 崩 溃 则 自 动 写 入 到 Dump 文件 中 。 adplus –crash –pn notepad.exe –o c:\dumps –quiet 说 明 : -crash 表 示 监 测 进 程 中 的 崩 溃 情 况 -pn 对 notepad.exe 进 行 监 测 ,系 统 中 必 须 有 notepad.exe 在 运 行 。也 可 使 用 -p
参 数 ,通过进程 ID 指定要监视的进程。 -o C:\dumps 把日志与捕捉到的 dump 文件保存到该目录中。 -quiet 静默方式,不弹出对话框。 1.6 dump 文 件 File->Open Crash Dump,打开 dump 文件。如果崩溃信息中包含结构化异常信息,则需要运行一次.ecxr 命令,才能看到有价值的堆栈。 在调试过程中,可以把当前进程信息写入到 dump 文件,使用下面的命令: .dump /mfh C:\1.dmp 2 符号表文 件 2 .1 设置符号表搜索路径 File->Symbol File Path 设置符号表搜索路径,路径之间使用分号分隔。 也可把搜索路径设置在环境变...