8

我在测试期间使用Sysinternals DebugView 进行调试/记录,它非常好。但是我在想是否有更高级的工具。

我正在寻找的功能:

  • 实时过滤器 - 记录所有内容(嗯,所有“有趣的”),通过过滤更改视图
  • 按进程名称过滤
  • 通过过滤将日志拆分到不同的视图
  • 解析消息
  • 扩展过去的 OutputDebugString,接收来自非 Windows 设备的 TCP/UDP 消息
  • 脚本(?)

我喜欢 DebugView 的功能:

  • 过滤
  • 颜色
  • 良好的时间戳
  • 实时取景

有什么工具可以做到这一点?还是其他可用的技术?

我正在使用 Windows XP/7 并且主要使用 Delphi 和 Python 进行编程。

4

6 回答 6

5

随意尝试SmartInspect。它包含您列出的内容,并且我们有用于 Delphi、.NET 和 Java 的库。我们的一位客户还有一个不受支持的Python 端口。它还具有高分辨率时间戳和其他工具所没有的其他独特功能,例如日志文件加密、快速命名管道日志协议(除了 TCP 日志记录)、积压队列等。


(来源:gurock.com

于 2011-08-12T15:42:05.710 回答
5

我最近在寻找完全相同的东西并遇到了Trace Spy。它最终对我不起作用,我现在仍在使用 DebugView。但是,我在此过程中学到的一个技巧是可以设置 Windows 7 快捷方式,以便它在管理员模式下自动运行 DebugView:

DebugView 快捷方式设置

这允许您访问更多被 UAC 禁用的功能,例如:

  • 捕获全局 Win32
  • 捕获内核

我同意 DebugView 是一个很好的工具的其他一些帖子。我只是认为获得与 Windows 7 兼容的更新会很好。甚至是安装程序!

于 2011-08-13T01:54:01.513 回答
4

最近,buggazer 停止使用,取而代之的是名为 Debugview++ 的原生 c++ 实现。见https://github.com/CobaltFusion/DebugViewPP

它目前已经具有原始问题中要求的大部分功能。

于 2014-03-09T10:11:20.600 回答
1

我还没有遇到过任何接近 DebugView 的功能,最好的亚军是 ollydbg 和WinDbg等调试器提供的日志服务。

实际上,我开始使用您描述的大多数功能(以及其他一些功能,例如泄漏跟踪)制作自己的工具,但是我没有比工作的准系统更进一步(我在 Google Code 上找到了源代码,但我不知道还有没有)。如果您确实走自己的路线,使用 .NET 之类的东西与thisthis结合使用,应该会使其变得非常简单、快速且功能强大(您可能也会对此感兴趣)。


事实上,似乎有人已经制作了一个基于 .NET 的工具,它可以很容易地适应任何人的需求......

于 2011-08-07T00:02:50.767 回答
1

对于 Delphi,至少有 Raize Software 的CodeSite。它有很多日志助手,也使它更易于使用。最新版本的 Delphi (Delphi XE) 包含一个受限/轻量级版本。

在此处输入图像描述

于 2011-08-10T03:35:26.377 回答
1

对于想要“自己动手”的人:

我创建了一个名为 Buggazer ( https://github.com/janwilmans/buggazer ) 的 googlecode 项目,它是目前正在开发的 .net 实现。欢迎任何人加入我。

捕获的OutputDebugString 和显示部分就完成了,它比Debugview 速度更快,资源消耗更少。使其有用的主要缺失功能是过滤。

DBWinListener 类是捕获 Win32 和 Win32Global 输出的 OutputDebugString 输出的参考实现。已在 WinXp 和 Win7/8 上进行了测试。

该项目包含多个压缩内存缓冲区的参考实现,请参阅 SnappyCompressor 类(包装原生 win32 Google Snappy 库)或原生 .net GZipStorage 类。

还有一个特色,一个 UTF8String 实现,用于以 UTF8 格式存储简单文本(在显然 UTF16 永远不会有用的情况下节省内存。)

UTF8Storage 在容器类中对此进行抽象。

工作:

  • 实时过滤器
  • 多个视图
  • 染色
  • 任何贡献或要求的东西
于 2013-10-16T19:03:50.290 回答