WinDbg命令

WinDbg官方文档

  1. 设置源代码路径:

    shell 复制代码
    .srcpath C:\SourceCode
    .srcpath C:\SrcPath1;C:\SrcPath2
  2. 附加源代码代码路径:

    shell 复制代码
    .srcpath+ C:\SourceCode
    .srcpath+ C:\Qt\SourceCode
  3. 设置符号的语法相同,对应命令:

    shell 复制代码
    .sympath
    .sympath+

    符号可以设置远程服务器

  4. 下断点:

    shell 复制代码
    bp `main.cpp:100`
  5. 列出断点:

    shell 复制代码
    bl
  6. 打开源代码文件:

    推荐用-a指定模块来打开文件

    shell 复制代码
    .open -a MyModule!main

    或者得输入完整路径

    shell 复制代码
    .open D:\SourceCode\main.cpp
  7. 断点删除/禁用

    1. 清除所有断点

      shell 复制代码
      bc *	
    2. 清除特定断点

      shell 复制代码
      bc <断点ID>
    3. 禁用所有断点(不删除,后续可通过be *重新启用)

      shell 复制代码
      bd *
    4. 设置的断点会被保存到工作空间,即使清除后重新加载工作空间仍会恢复,需通过bc *再次清\除

      shell 复制代码
      bu

.excr(显示异常上下文记录)

.call(调用函数)

?? (计算 C++ 表达式)


启动命令行

shell 复制代码
WindbgX.exe /?

/accepteula - Accepts the End User License Agreement.
/c - Executes a command line after the debugger is attached.
/logo - Begins logging information to a log file. If the file exists, it will be overwritten.
/loga - Begins logging information to a log file. If the file exists, it will be appended to.
/e - Signals the event with the given handle after the next exception in a target.
/v - Enables verbose output in the debugger.
/Q - Deprecated command-line option.
/QY - Deprecated command-line option.
/QS - Deprecated command-line option.
/QSY - Deprecated command-line option.
/WX - Deprecated command-line option.
/sflags - Sets all the symbol handler options at once.
/sdce - Causes the debugger to display 'File access error' messages during symbol load.
/ses - Causes the debugger to perform a strict evaluation of all symbol files and ignore any questionable symbols.
/sicv - Causes the symbol handler to ignore the CV record.
/sins - Causes the debugger to ignore the symbol path and executable image path environment variables.
/snc - Causes the debugger to turn off C++ translation.
/snul - Disables automatic symbol loading for unqualified names.
/sup - Causes the symbol handler to search the public symbol table during every symbol search.
/n - Enables verbose output from symbol handler.
/y - Specifies the symbol path to use.
/i - Sets the image search path to use.
/premote - Connects to a process server (dbgsrv) that is already running.
/p - Specifies the decimal process ID to be debugged.
/tid - Specifies the thread ID of a thread to be resumed when the debugging session is started.
/psn - Specifies the name of the service contained in the process to be debugged. This is used to debug a process that is already running.
/pn - Specifies the name of the process to be debugged.
/z - Specifies the name of a crash dump file to debug.
/openPrivateDumpByHandle - Specifies the handle of a crash dump file to debug.
/remote - Connects to a debugging server that is already running.
/server - Creates a debugging server that can be accessed by other debuggers.
/plmPackage - Specifies the package name to launch
/plmApp - Specifies the packaged app name to launch
/debugArch - Specifies the target bitness for the debugger.
/targetArch - Specifies the architecture to use for the target when multiple are available.
/o - Debugs all processes launched by the target application (child processes).
/g - Ignores the initial breakpoint in target application.
/G - Ignores the final breakpoint in target application.
/pv - Specifies that the debugger should attach to the target process noninvasively.
/hd - Specifies that the debug heap should not be used.
/cimp - Specifies that any processes created will use an implicit command-line set by the server instead of a user-given command-line string from the client.
/T - Sets the window title.
/benchmarkStartup - Runs a startup benchmark and appends the result to a file.
/x - Enable second-chance handling only for access violation exceptions.
/xe - Enable first-chance exception handling for the specified exception.
/xd - Enable second-chance exception handling for the specified exception.
/xn - For the given exception, disable first- and second-chance-handling, and only display a message on the console.
/xi - Completely ignore the given exception, disabling first- and second-chance handling, and not outputing anything to the console.
/k - Starts a kernel debugging session.
/d - After a reboot, the debugger will break into the target computer as soon as a kernel module is loaded.
/kqm - Starts KD in quiet mode.
/kl - Starts a kernel debugging session on the same machine as the debugger.
/kx - Starts a kernel debugging session using an EXDI driver.
/bonc - Break on connection to a kernel debugging connection.
/nobonc - Don't break on connection to a kernel debugging connection.
/srcpath - Specifies the source path to use.
/lsrcpath - Specifies the source path to use.
/I - Sets WinDbgNext as the default post-mortem debugger for the system.
/IS - Sets WinDbgNext as the default post-mortem debugger for the system silently, with only errors being reported.
/? - Displays a summary of commands available.
/setupFirewallRules - Configures the required firewall rules on the local system to allow kernel debugging.
/setupFirewallRulesQuietly - Configures the required firewall rules on the local system to allow kernel debugging, and then exit.
/EnableUsbPowerManagement - Enable selective suspend and allow OS power management of USB controllers/hubs
/DisableUsbPowerManagement - Disable selective suspend and allow OS power management of USB controllers/hubs
复制代码
相关推荐
阿白的白日梦4 小时前
winget基础管理---更新/修改源为国内源
windows
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21885 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest5 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技5 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~5 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
一个假的前端男5 天前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
倚肆5 天前
在 Windows Docker 中安装并配置 Nginx (映射 Windows 端口与路径)
windows·nginx·docker