从 .NET 应用程序调试 C++ 代码时出现问题
Posted
技术标签:
【中文标题】从 .NET 应用程序调试 C++ 代码时出现问题【英文标题】:Problem debugging C++ code from .NET application 【发布时间】:2011-06-29 11:24:54 【问题描述】:我有使用几个 c++ 库的 .NET 服务 (C#)。我迫切需要使用 C++ 方法,但是当我设置断点时,它们会在运行时被禁用。
在哪里看?
我在 C++ 项目设置中设置了“附加调试器”,但这似乎并没有改变。
请指教。在哪里看?
如果有人关心,图书馆是quickfix engine。
【问题讨论】:
【参考方案1】:您的项目需要enable unmanaged code debugging。为此:
-
在解决方案资源管理器中右键单击您的项目,然后单击“属性”。
在“调试”选项卡中,选中标有“启用非托管代码调试”的复选框。
默认情况下,面向 .NET Framework 的项目将仅调试托管代码。您必须明确告诉它您要调试非托管代码。
如果这不能解决问题,还要确保在“选项”对话框中的调试设置中未启用“仅启用我的代码”设置。
当我附加到进程时不起作用。只有在我从工作室跑步时才有效
正确。当您附加到进程时,您的项目不会[必然] 加载,并且 Visual Studio 不会关注其设置。
在这种情况下,您需要在“附加到进程”对话框中设置适当的选项。这样做:
-
单击标有“附加到:”行末尾的“选择...”按钮。
在出现的对话框中,除了“托管”代码的适当版本之外,确保选中“本机”。
【讨论】:
您的意思是主应用程序项目(Main() 所在的位置)吗? @Captain:我不太确定你在问什么。您需要为您的 startup 项目启用此功能。我假设那是 .NET 应用程序。 附加到进程时不起作用。仅在我从工作室跑步时才有效【参考方案2】:转到Project Properties
-> Debug
-> 并设置复选框
Enable unmanaged code debugging
HTH
【讨论】:
以上是关于从 .NET 应用程序调试 C++ 代码时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
尝试使用 Visual Studio 2010 调试 dll (C++) 时出现错误消息
远程调试 .Net 应用程序“没有为此文档加载任何符号”时出现问题。