Delphi追踪工具

4

我想知道是否有一种工具或组件适用于Delphi,可以逐行跟踪方法执行并创建日志文件。使用这种工具,可以通过比较两个日志文件来轻松比较方法在两组输入数据上的表现。

编辑:

假设有一个函数


10: function MyFunction(aInput: Integer): Integer;
11: begin
12:   if aInput > 10 then
13:     Result := 10
14:   else
15:     Result := 0;
16: end;

我正在寻找一款工具,能够提供与下面类似的日志:

当输入参数为1时:


Line 10: 'function MyFunction(aInput: Integer): Integer;'
Line 11: 'begin'
Line 12: 'if aInput > 10 then'
Line 15: 'Result := 0;'
Line 16: 'end;'

当aInput参数为11时:


Line 10: 'function MyFunction(aInput: Integer): Integer;'
Line 11: 'begin'
Line 12: 'if aInput > 10 then'
Line 13: 'Result := 10;'
Line 16: 'end;'

这个工具所需的唯一信息是函数名称。

这就像在调试器下逐步执行方法,但以自动方式记录每行代码。

5个回答

2

我熟悉那些工具,但它们只允许手动放置跟踪语句。我需要一种工具,可以自动产生跟踪日志,而不需要手动添加任何语句。 - Max

2
如果您正在寻找免费的解决方案,我以前用过TraceTool。查看器是用Delphi编写的,您还可以将TraceTool与C#、C ++、ActiveX和Java一起使用。对于Delphi,您只需包含几个帮助程序单元并随时添加适当的日志记录即可。它支持记录文本以及对象及其数据。
您可以从SourceForge 下载它。

alt text

或者,如果您只需要输出字符串并且想要一些更简单、更轻量级的东西,您可以始终使用OutputDebugString,并使用TraceTool的查看器或来自SysInternals的DbgView查看输出。

非常好用的工具...谢谢你告诉我们!要是它在几年前就存在就好了! - X-Ray
谢谢。这似乎是一个不错的工具,但它与SmartInspect和CodeSite相似。我已经发布了一些澄清内容,说明我正在寻找什么。 - Max

0
经过一段时间的搜索,我得出结论:Delphi 没有这样的工具。

0
也许一个“Delphi分析器”会很有用。在stackoverflow上有很多建议。
根据分析器,您将知道示例中每个if-then-else的哪个部分通过了多少aInput以及通过每个部分需要多长时间。许多分析器都有日志记录功能,例如smartInspect,但我还没有尝试过。

0

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