当前位置:  开发笔记 > 编程语言 > 正文

当从本机win32应用程序调用C#COM程序集时,如何调试它?

如何解决《当从本机win32应用程序调用C#COM程序集时,如何调试它?》经验,为你挑选了2个好方法。

我正在开发一个C#程序集,它将通过COM从Delphi 7(iow,原生win32,而不是.net)应用程序调用.

到目前为止,它似乎工作.我已经导出了一个TLB文件,将其导入到我的Delphi项目中,我可以创建我的C#对象并调用它的函数.

这很好,但很快我就真的想在运行时使用Visual Studio来调试C#代码.设置断点,逐步执行代码,所有这些.

在创建COM对象后,我尝试打破Delphi代码,然后寻找VS附加到的进程,但我找不到.

有没有办法设置VS2008这样做?我更愿意只能点击f5并让VS启动Delphi可执行文件,等待调用C#代码,然后将其自身附加到它上面.但我认为我可以手动附加到进程.

请不要告诉我,我必须使用MessageBox.Show等.



1> Mark Pattiso..:

在VS2008项目属性页面的"调试"选项卡上,可以选择设置不同的"启动操作".

当您按F5时,这可用于运行外部程序(例如您的Delphi应用程序).



2> 小智..:

将以下内容放在要调试的方法中:

#if DEBUG
    if (!System.Diagnostics.Debugger.IsAttached)
        Debugger.Launch();
#endif

如果要调试,请构建调试版本并在应用程序中使用它.运行此代码时,会弹出一个对话框,询问您是否要附加调试器.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有