2009-12-28 145 views
4

我想知道是否有一個Delphi的工具或組件,可以逐行跟蹤方法執行並創建一個日誌文件。使用這種工具,通過比較兩個日誌文件,可以輕鬆地比較方法如何在兩組輸入數據上執行操作。Delphi跟蹤工具

編輯:

比方說,有一個函數


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

我正在尋找一種工具,將給予其對子級類似於以下日誌:

當aInput參數是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;' 

該工具應該要求的唯一信息是函數名稱。

這就像是在調試器下逐步完成該方法,但是以自動方式記錄每行代碼。

回答

0

經過一段時間的搜索,我可以得出結論,德爾福沒有這樣的工具。

2

SmartInspectCodeSite

您可以read this question關於這些和其他更多的審查。

+0

我熟悉那些工具,但他們只允許一個人手動放置跟蹤語句。我需要一個能夠自動生成跟蹤日誌的工具,而無需手動添加任何語句。 – Max 2009-12-28 15:30:31

2

如果您正在尋找免費解決方案,我以前使用過TraceTool。查看器是用Delphi編寫的,您還可以將TraceTool與C#,C++,ActiveX和Java一起使用。使用Delphi,您只需包含一對輔助單元,並隨時添加相應的日誌記錄。它支持記錄文本,以及對象及其數據。您可以download it from SourceForge here

alt text

或者,如果你想要的只是主要的字符串輸出的東西簡單,重量輕,可以隨時使用OutputDebugString並查看輸出用的TraceTool的觀衆或DbgView Sysinternals公司。

+0

非常好的工具...謝謝你告訴我們關於它!我希望它在幾年前就已經存在了! – 2009-12-28 15:59:33

+0

謝謝。它似乎是一個不錯的工具,但它與SmartInspect和CodeSite類似。我已經發布了一些我正在尋找的說明 – Max 2009-12-28 16:49:00

0

也許'delphi profiler'會很有用。在stackoverflow上有很多建議。

根據分析器的不同,您會知道aInput在您的示例中通過if-then-else的每個部分的百分比,以及通過每個部分需要多長時間。許多配置文件都有日誌記錄,例如smartInspect,但我沒有嘗試過。