如何最好地使用IDE和/或FOSS调试Delphi?

Maw*_*awg 3 delphi

我看到以下调试方法,并想知道是否有其他小型公司可以使用的其他FOSS工具(我们没有做太多的Windows编程).

1通过设置断点,使用监视等在IDE中进行调试

2在IDE中调试,使用事件日志
我从这个页面获得了一些很好的信息并调整它以在过程调用/返回时添加时间戳和缩进/出口,这样我就可以更快地看到嵌套调用.有谁知道更好的东西?

3使用分析器

4其他人?
比如MadExcept等?

(我目前正在使用Delphi 7)

小智 5

Delphi集成调试器即使在Delphi 7中也足够强大,可以处理大多数调试任务.它还可以远程调试应用程序.无论如何,在某些情况下,您可能需要跟踪不同类型的问题:

  1. 要检查内存泄漏,可以切换到内存管理器,如FastMM4,它具有良好的内存泄漏报告功能.像AQTime这样的分析器也有内存分配分析器来识别这类问题.
  2. 要调查性能问题,您需要一个性能分析器.有采样分析器(侵入性较小,虽然可能不太精确)和标准分析器(AQTime再次,不便宜但非常好,等等).
  3. 要跟踪异常,尤其是在已部署的应用程序上,您可能需要JCL/JVCL(免费),MadExcept或EurekaLog或SmartInspect等工具
  4. 要获取应用程序的操作日志,可以使用OutputDebugString()和IDE事件查看器,或DebugView独立应用程序.还有像SmartInspect这样的专用工具.
  5. 您还可以 Delphi 7 .map文件转换为.dbg文件并使用外部调试器作为WinSDK WinDbg,并查看ProcessExplorer等工具中的应用程序调用

一些调试工具还可能提供代码覆盖检查(实际执行的代码,从未执行过的代码),平台合规性(检查给定平台支持API调用),资源使用等功能,但可能对更大发展.

  • map2dbg不(始终)处理较新的.map文件,和/或使用ProcessExplorer,Microsoft不再支持.dbg文件.所以我用(我自己的;-) http://code.google.com/p/asmprofiler/wiki/ProcessStackViewer代替 (2认同)