是否可以编写Delphi调试器的扩展?

时间:2009-01-16 03:26:22

标签: delphi debugging

我知道有一个用于创建Delphi扩展的API。我经常使用GExperts软件包和各种JVCL专家。但我从未见过调试器的任何扩展。例如,能够为各种对象注册查看器而不必在Inspector中检查它们将是非常好的。 (例如,带有显示TImage的图像控件的表单,或显示数据集内容的网格。)

是否有任何API允许您以这种方式扩展Delphi的调试器?

编辑:当我写这个问题时,这个问题无法恢复,但Delphi 2010提供了一种方法。

2 个答案:

答案 0 :(得分:17)

在ToolsAPI.pas源代码中,有一些用于调试的API接口。通过此API,可以在发生调试事件时通知您,有关断点的信息,正在调试哪个进程等。但似乎没有对它们的变量或值的支持。因此,没有简单的方法可以在没有丑陋黑客的情况下实施您的申请。

答案 1 :(得分:4)

可以使用OTA公开的评估界面实现基本调试器可视化工具。 (可以找到调试器可视化工具的示例herehere。)

也可以更深入地集成到调试器中(例如,我为C ++ Builder编写了一个小扩展,使调试器能够评估接口背后的实际对象) - 但正如Khan指出的那样,实现这样的一定程度的整合,你需要诉诸于一些肮脏的黑客。