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

标签 windbg

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

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

.shell -i- -ci "!dumpgen 2" cmd /c more > D:\tmp\dumpgen2.log

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

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

我想知道我是否可以同时实现我想要的:
  • 从交互式 WinDbg session 中执行此操作
  • 使用普通的标准 shell 命令(也可以是 cmd.exe 或 powershell.exe)。我知道编写一个只是将 stdin 转发到 stdout 的小实用程序是一项微不足道的工作,但我仍然不想这样做。
  • 最佳答案

    .shell -i- -ci "!dumpgen 2" findstr "^" >D:\tmp\dumpgen2.log
    
    ^会找到任何一行的开头,所以它应该是一个 1:1 的副本。

    关于windbg - 如何将windbg命令重定向到文件而不在windbg控制台上回显输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33532692/

    相关文章:

    windows - 我可以从 Windows 上的 ghc Haskell 进程转储中收集哪些信息?

    memory-leaks - windbg !gcroot <address> 不返回根

    exception - OutOfMemoryException - 这是误报吗

    windbg - 如何增加当前 WinDbg 中的断点限制?

    .Net 应用程序死锁和 GC

    debugging - WinDbg 的符号路径

    c# - 处理来自 .NET 的访问冲突

    调试重命名的 DLL?

    windows - 故障转储中的套接字调查

    c - 从已卸载模块的 pdb 中提取结构信息