我无法再调试VS 2012中运行.NET程序集的本机代码

时间:2012-11-14 19:56:23

标签: .net debugging visual-studio-2012

我有一个Delphi应用程序,它加载了一些我想要调试的.NET程序集。我不想调试Delphi代码,只需要调试.NET程序集。

在VS 2010中,我所要做的就是使我的.NET代码的输出目录指向Delphi可执行文件夹并设置Start external program以指向可执行路径。当我点击F5时,它会自动启动Delphi代码,加载模块,我就可以调试了。

现在我已迁移到VS 2012.我也这样做,但调试不起作用。该过程启动并正确连接,但模块窗口完全为空。没有加载符号。我无法调试任何东西。

为了让它在VS 2012中运行,我必须做些什么特别的事情吗?

2 个答案:

答案 0 :(得分:3)

我和你的情况完全相同(希望不会太晚)。

问题在于,在“附加进程”中,您可以在启动外部程序时选择.NET版本的调试器(在我们的示例中为Managed 3-3.5),默认调试器出于某种原因为4。 操作:文件>添加>现有项目,并添加非托管程序的基本EXE文件。它将显示为单个文件项目。右键单击它并“设置为启动项目”。再次右键单击“属性”。 set Debugger type:Managed(v3.5,v3.0,v2.0)。

就是这样,调试器现在将加载正确的版本。我很肯定这会很好。

答案 1 :(得分:1)

我看到了完全相同的问题。使用.NET 3.5管理单元运行MMC.exe。在升级到VS2012之前调试正常,现在升级后它表示没有加载本机符号且断点不起作用。 @ jdv-JandeVaan暗示我需要继续前进。我需要将调试器设置为使用.NET 3.5。我能找到的唯一方法是在Attach to Process ...对话框中选择.NET 3.5。不方便但它有效。