【问题标题】:Problem debugging C++ code from .NET application从 .NET 应用程序调试 C++ 代码时出现问题
【发布时间】:2011-06-29 11:24:54
【问题描述】:

我有使用几个 c++ 库的 .NET 服务 (C#)。我迫切需要使用 C++ 方法,但是当我设置断点时,它们会在运行时被禁用。

在哪里看?

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

请指教。在哪里看?

如果有人关心,图书馆是quickfix engine

【问题讨论】:

    标签: c# c++ visual-studio debugging


    【解决方案1】:

    您的项目需要enable unmanaged code debugging。为此:

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

       

    默认情况下,面向 .NET Framework 的项目将仅调试托管代码。您必须明确告诉它您要调试非托管代码。

    如果这不能解决问题,还要确保在“选项”对话框中的调试设置中未启用“仅启用我的代码”设置。


    当我附加到进程时不起作用。只有在我从工作室跑步时才有效

    正确。当您附加到进程时,您的项目不会[必然] 加载,并且 Visual Studio 不会关注其设置。

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

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

         

    【讨论】:

    • 您的意思是主应用程序项目(Main() 所在的位置)吗?
    • @Captain:我不太确定你在问什么。您需要为您的 startup 项目启用此功能。我假设那是 .NET 应用程序。
    • 附加到进程时不起作用。仅在我从工作室跑步时才有效
    【解决方案2】:

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

    Enable unmanaged code debugging

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2020-07-28
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多