DebugView的替代方案是什么?

8
我在测试期间使用 Sysinternals DebugView进行调试/日志记录,效果很好。但是,我在想是否有更高级的工具。
我正在寻找以下功能:
- 实时筛选器 - 记录所有内容(或者“有趣”的所有内容),通过筛选更改视图 - 按进程名称筛选 - 通过筛选将日志拆分为不同的视图 - 解析消息 - 扩展过OutputDebugString,接收来自非Windows设备的TCP / UDP消息 - 脚本化(?)
我喜欢DebugView中的以下功能:
- 筛选 - 颜色 - 良好的时间戳 - 实时视图
是否有适用于这些功能的工具?还是其他可用的技术?
我使用Windows XP / 7,并主要使用Delphi和Python进行编程。

DebugView没有提供完整的源代码吗?那么,您可以自己推出版本。 - TheBlastOne
@TheBlastOne 看起来源代码不再可用了。 - Harriv
1
也许http://sourceforge.net/projects/tracetool会有用? - TheBlastOne
6个回答

5

欢迎尝试 SmartInspect。它提供了您列出的功能,并且我们为 Delphi、.NET 和 Java 提供库。此外,我们的客户之一提供了一个不受支持的Python端口。它还具有高分辨率时间戳和其他独特功能,这些功能在其他工具中找不到,例如日志文件加密、快速命名管道日志协议(除了TCP日志记录)、后备队列等。


(来源:gurock.com)


能否通过UDP通信在不支持库的情况下使用不受支持的平台? - Harriv
1
@Harriv,你可以编写一个简单的UDP服务器并使用SmartInspect库之一来转发请求。这将是实现这一目标最简单的方法。 - Dennis G.

5

最近我在寻找与此相同的东西,发现了Trace Spy。但它最终对我没有用处,我现在仍然使用DebugView。然而,在这个过程中我学到了一个诀窍,就是可以设置Windows 7快捷方式以管理员模式自动运行DebugView:

DebugView Shortcut Settings

这样可以让您访问更多被UAC禁用的功能,例如:

  • 捕获全局Win32
  • 捕获内核

我同意其他帖子中的一些观点,DebugView是一个不错的工具。我只是认为如果能够获得与Windows 7兼容的更新或者安装程序会更好!


TraceSpy 对你来说有什么问题吗?你在 CodePlex 讨论标签页上发表了评论吗? - Simon Mourier
Simon,说实话我没有花太多时间来尝试让TraceSpy工作。目前我使用DebugView工具,但如果我再次尝试TraceSpy并继续遇到问题,把问题发布到CodePlex上是个不错的建议。 - dana

4

这看起来很不错。添加TCP/UDP日志记录会很难吗? - Harriv
它与 Sysinternals 的原始 DebugView 代理兼容,因此可以进行“远程调试”。此外,UDP 已经实现了一个特定的功能。去看看吧 :) - Jan Wilmans
你回复了两年前的评论,UDP已经被实现并且我正在使用它 :) - Harriv

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在容器类中抽象了这一点。

正在处理:

  • 实时过滤器
  • 多种视图
  • 着色
  • 任何贡献或请求

Google Code已经关闭,现在打开链接会显示“404. That's an error.”。它是否已经转移到其他地方,比如GitHub?也许你应该更新你的答案。 - Peter Mortensen

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

Enter image description here


1

我还没有找到任何一款与DebugView功能相近的软件,而最佳替代品则是像ollydbg和WinDbg这样的调试器提供的日志记录服务。

实际上,我开始制作自己的工具,其中包括您描述的大多数功能(以及一些其他功能,如泄漏跟踪)。但是,我没有进一步开发出一个完整的系统(我曾将源代码上传至Google Code,但我不知道它是否还存在)。如果您决定要自己制作,结合使用类似于.NET的东西,再加上thisthis,应该可以轻松、快速且强大地制作(您可能还会对this感兴趣)。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接