首先找到并打开组件包,将运行时和设计时包构建选项从 Release 转到 Debug,如果它们还没有,然后重新构建。
然后保存一个包含两个包项目的项目组(一个设计时和一个运行时,在某些特殊情况下,人们只有一个包,即设计时+运行时合二为一)。
然后按照步骤将 BDS.exe 设置为主机应用程序。
我很想向OutputDebugString
您知道已损坏的组件添加一些消息:
构造函数:
constructor TMyComponent.Create(AOwner:TComponent);
begin
inherited;
// other stuff.
OutputDebugString('Created TMyComponent');
end;
析构函数:
destructor TMyComponent.Destroy(AOwner:TComponent);
begin
OutputDebugString('Destructor TMyComponent starts');
inherited;
// other stuff.
OutputDebugString('Destructor TMyComponent finish');
end;
TMyComponent 所在单元的完成部分:
finalization
OutputDebugString('Finalization section for Unit MyComponentUnit');
end.
查看 delphi 调试器中的输出事件页面,您可以了解代码的运行程度,即使您没有获得可用于相当准确地定位缺陷的异常断点,您也可以使用 OutputDebugString 消息之类的以上,或者您甚至可以在delphi中设置非中断断点,并关闭断点属性“异常中断”,而是设置“日志消息”。这些消息(断点消息)的好处是不需要对您的组件造成任何损坏,以便为您的调试工具包添加一些简单的“打印语句调试”之类的功能。