如何将windbg命令重定向到文件而不回显windbg控制台上的输出?

mar*_*ark 4 windbg

.logopen 不是答案,因为它让命令输出到windbg控制台.

例如,!sosex.dumpgen 2产生很多输出,我不想在调试器控制台中看到它.现在我使用以下内容:

.shell -i- -ci "!dumpgen 2" cmd /c more > D:\tmp\dumpgen2.log
Run Code Online (Sandbox Code Playgroud)

我的问题是该more命令是交互式的,在输出一定数量的数据后需要用户输入.这对我来说是个大问题.

一种解决方案可能是使用脚本非交互式运行调试器本身,并在那里使用.logopen命令.

我想知道我是否能达到我想要的目标:

  1. 从交互式WinDbg会话中执行此操作
  2. 使用普通的标准shell命令(也可以是cmd.exe或powershell.exe).我知道编写一个只是将stdin转发到stdout的小实用程序是一项微不足道的工作,但我还是不喜欢这样做.

Tho*_*ler 6

.shell -i- -ci "!dumpgen 2" findstr "^" >D:\tmp\dumpgen2.log
Run Code Online (Sandbox Code Playgroud)

^ 将找到任何行的开头,因此它应该是1:1的副本.