繁体   English   中英

如何在Delphi中调试COM dll?

[英]How to debug a COM dll in Delphi?

我尝试在Delphi中调试COM dll(TAutoObject),但断点不是绿色的。

我这样选择:

  • 主机:c:\\ Program Files \\ Internet Explorer \\ iexplore.exe
  • 参数:c:\\ software \\ test.html

我的测试很好,但是在Delphi中没有断点

如何做到这一点?

您必须运行启动COM +对象的程序,然后将其附加到进程中。

IE启动一个子进程,该子进程承载不受信任的代码。 这可能是为什么调试设置不起作用以及为什么在启动后附加到进程的原因。

由于调试器无法启动文件,因此无法正常工作。

IIRC您可以尝试将“附加到进程”附加到运行它的进程(iexplorer.exe),但是问题是,这不允许在组件开始时进行调试。 (因为要花时间手动安装)

我有一个不同的设置,我在delphi应用程序的面板上实例化了一个稍有不同的编译后的.ocx,并用它来调试。 哪个很好

调试DLL时不接受此链接Breakpoint,这帮助我在Delphi 5中调试了我的com dll。转到“项目”->“选项”->“链接器”->复选标记“包括远程调试符号”。 我无法告诉您它为什么起作用。 Delphi 5的帮助提供了以下描述:

包括远程调试符号如果您正在使用远程调试,请选中此复选框。

您还需要打开集成调试。 它位于调试器选项的“常规”选项卡上。

过去,我要做的是创建一个单独的程序,该程序调用我的COM对象并将其用作调试的目标而不是标准主机。 这简化了事情,还允许您创建已知问题的特定可重复测试,以帮助以后进行烟雾测试。

您还可以使用CodeSite之类的工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM