我正在开发一个C#程序集,它将通过COM从Delphi 7(iow,原生win32,而不是.net)应用程序调用.
到目前为止,它似乎工作.我已经导出了一个TLB文件,将其导入到我的Delphi项目中,我可以创建我的C#对象并调用它的函数.
这很好,但很快我就真的想在运行时使用Visual Studio来调试C#代码.设置断点,逐步执行代码,所有这些.
在创建COM对象后,我尝试打破Delphi代码,然后寻找VS附加到的进程,但我找不到.
有没有办法设置VS2008这样做?我更愿意只能点击f5并让VS启动Delphi可执行文件,等待调用C#代码,然后将其自身附加到它上面.但我认为我可以手动附加到进程.
请不要告诉我,我必须使用MessageBox.Show等.
在VS2008项目属性页面的"调试"选项卡上,可以选择设置不同的"启动操作".
当您按F5时,这可用于运行外部程序(例如您的Delphi应用程序).
将以下内容放在要调试的方法中:
#if DEBUG if (!System.Diagnostics.Debugger.IsAttached) Debugger.Launch(); #endif
如果要调试,请构建调试版本并在应用程序中使用它.运行此代码时,会弹出一个对话框,询问您是否要附加调试器.