2011-06-29 55 views
5

我有.NET服务(C#),它使用了几个C++库。我非常渴望进入C++方法,但是当我设置断点时,它们在运行时会被禁用。从.NET应用程序调试C++代码的问题

哪里可以看?

我在C++项目设置中设置了“附加调试器”,但这似乎没有改变。

请指教。在哪里看?

如果有人在意这些图书馆是quickfix engine

回答

9

您需要enable unmanaged code debugging为您的项目。为此,请执行以下操作:

  1. 右键单击解决方案资源管理器中的项目,然后单击“属性”。
  2. 在“调试”选项卡中,选中标有“启用非托管代码调试”的框。

     

默认情况下,一个项目针对.NET框架将只调试托管代码。你必须明确地告诉它你想调试非托管代码。

如果这样不能解决问题,请确保在“选项”对话框中找到的调试设置中“启用我的代码”设置未打开。


当我重视过程不起作用。只有当我从工作室运行

正确。当你附加到一个进程时,你的项目不一定会被加载,Visual Studio也不会关注它的设置。

在这种情况下,您需要在“附加到进程”对话框中设置适当的选项。要做到这一点:

  1. 单击标签为“附加到:”行末尾的“选择...”按钮。
  2. 在出现的对话框中,除了相应版本的“托管”代码之外,请确保选中了“本机”。

         

+0

你的意思是主要的应用项目(其中主()所在地)? –

+1

@Captain:我不确定你在问什么。您需要为您的**启动项目启用此项目。我认为这是.NET应用程序。 –

+0

对,我现在试一试.. –

2

转到Project Properties - >Debug - >,并设置复选框

Enable unmanaged code debugging

HTH