进行远程调试时,某些命令仅影响本地调试器(键入命令的调试器)。例如:
.wtitle
.cls
.browse
.cmdtree
目前这些都看起来像UI相关的命令。是否有更多命令仅在本地调试器上执行?
我的研究工作:
我在谷歌上搜索一个列表,但是搜索条件可能太常见了,或者我没有把它们弄好。
我也试过在WinDbg帮助中找到一个引用(.hh
)本身。但到目前为止我发现的受影响的命令甚至没有记录这一事实。
我知道这是要求最喜欢的外部工具或参考。所以,如果你真的认为这是偏离主题的话,那就投票吧。
答案 0 :(得分:3)
所有调试器处理(包括所有扩展执行)都在核心调试器进程中完成。因此99%以上的命令都需要转到调试器引擎(初始调试器实例) 仅在远程调试器上运行的唯一命令确实是一些与UI相关的命令。
我将调出一对有关此主题的命令,这是最常用的远程调试器:
.srcpath
设置"源代码路径"在调试器引擎中。这是调试器引擎将从中获取源信息的地方 - 例如,如果调试器扩展需要获取源代码。
.lsrcpath
(l - for local)设置"源代码路径"在远程调试器中。此路径将在windbg(以及cdb \ kd)中用于在UI中提取源文件。
答案 1 :(得分:0)
仍然不是完整列表,但很多commands that are not scriptable (MSDN)受到影响:
.lscrfix // works on remote client only
.lsrcpath // works on remote client only
.open
.write_cmd_hist // writes local history only
.beep
.cls
.hh
.remote // Does not work in WinDbg anyway
但是,列表中的以下内容似乎有效:
.idle_cmd
.restart
关于.write_cmd_hist
:如果要在调试会话期间保留所有命令,最好在会话开始时打开日志文件(.logopen
)。