-
设置源代码路径:
shell.srcpath C:\SourceCode .srcpath C:\SrcPath1;C:\SrcPath2
-
附加源代码代码路径:
shell.srcpath+ C:\SourceCode .srcpath+ C:\Qt\SourceCode
-
设置符号的语法相同,对应命令:
shell.sympath .sympath+
符号可以设置远程服务器
-
下断点:
shellbp `main.cpp:100`
-
列出断点:
shellbl
-
打开源代码文件:
推荐用-a指定模块来打开文件
shell.open -a MyModule!main
或者得输入完整路径
shell.open D:\SourceCode\main.cpp
-
断点删除/禁用
-
清除所有断点
shellbc *
-
清除特定断点
shellbc <断点ID>
-
禁用所有断点(不删除,后续可通过be *重新启用)
shellbd *
-
设置的断点会被保存到工作空间,即使清除后重新加载工作空间仍会恢复,需通过bc *再次清\除
shellbu
-
.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