【问题标题】:OutputDebugString + DebugView = not tabs!OutputDebugString + DebugView = 不是标签!
【发布时间】:2010-03-16 06:48:46
【问题描述】:

我正在使用 OutputDebugString 转储 \t 分隔数据,然后使用 ex-Sysinternals DebugView 来捕获它。

问题是 DebugView 中的所有数据似乎都是用空格分隔的,因此我需要先执行 CTRL+H "\x20" "t" 以用制表符替换空格,然后才能使用它(我真的需要制表符分隔数据)。

有没有办法告诉 DebugView 不要用空格替换制表符? 或者是否有更好的工具可用于捕获 OutputDebugString 函数的输出?

非常欢迎任何想法!

【问题讨论】:

  • 您尝试过登录到文件吗? (文件\日志到文件...)
  • 试过了,没有帮助 - 它输出 \x20-s,而不是 \t-s

标签: c++ debugging outputdebugstring debugview


【解决方案1】:

这似乎是 DebugView 中的一个“功能”。我试过Hoo Wintail,这个家伙收集标签没有任何问题。所以我看到了 3 个解决方案:

  1. 您会收到Hoo Wintail(强烈推荐
  2. 您编写您的工具(查看here 了解如何操作,甚至获得complete one
  3. 您重定向到文件。

我强烈投票支持选项 1

【讨论】:

  • 看起来很有趣。真的很喜欢实时监控位于 FTP 上的跟踪日志文件的想法。什么可能真的很酷(不确定是否存在此类工具) - 能够查看位于可通过 SFTP 访问的远程 unix 服务器上的日志。有人可以推荐这样的工具吗?
【解决方案2】:

为什么不将它们写入本地日志文件? (仅在调试模式下?)

【讨论】:

    【解决方案3】:

    您可以使用多个空格来代替制表符。

    【讨论】:

      【解决方案4】:

      DebugOutput 和 DebugView 用于它们的名称所暗示的情况:调试。它们并非旨在取代文件保存功能。

      您可能处于分析调试输出意味着分析制表符分隔格式的情况。找到另一个可以用来代替制表符的字符,例如|或@或^。 然后在高级编辑器(例如 UltraEdit)中打开调试输出并将字符转换回 Tab。

      【讨论】:

      • 这就是我现在所做的。我虽然可以消除这个额外的步骤。
      猜你喜欢
      • 1970-01-01
      • 2017-09-24
      • 2020-11-25
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多