c# - 使用 native C++、托管 C++ cli 和 C# 解决方案在混合模式下进行调试

标签 c# c++ visual-studio-2010 debugging c++-cli

我正在处理一个多线程项目,并且启动项目设置为运行我的 UI 的 c# 项目。然后是一系列底层 C++ 原生项目,它们通过托管 C++/CLI 项目连接到 C#。我在 c# 启动项目中启用了“启用非托管调试”,当我尝试调试 native 代码时,我能够达到我设置的断点。但是,在我尝试再次运行它并尝试再次达到断点后,它会挂起。例如,如果我有一个循环,我尝试在每次迭代中点击它,在第二次迭代之后程序挂起,我必须强制退出。我在 Visual Studio 2010 中工作。调试开始以这种速度证明不是太有用,有什么办法可以排除这个问题吗?

最佳答案

当我想调试 native 代码以及 C++/CLI 时,我会执行以下操作:

  1. 在 C# 应用程序中,在项目属性的“构建”选项卡中选中Allow unsafe code,在“Debug”选项卡中选中Enable unmanaged code debugging
  2. 对于 C++/CLI dll 项目,在属性的 Debugging 选项卡中,将 Debugger Type 设置为 Mixed

关于c# - 使用 native C++、托管 C++ cli 和 C# 解决方案在混合模式下进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955714/

相关文章:

C# - 文本框验证

C++ 条件包含文件运行时

c++ - GCC 6.x 关于 lambda 可见性的警告

visual-studio-2010 - 如何禁用 Windows Azure 项目中的角色?

visual-studio-2010 - 当我使用 InstallShield 安装我的应用程序时,我收到一条 "Installation Failed"消息。有没有办法让我看到它失败的原因?

visual-studio-2010 - 将空目录发布到 VS2010 Web 项目中的 Web 应用程序

c# - 如何获得具有 out 参数的方法?

c# - NET Framework 是否与 Comodo 服务器通信?

c# - 桌面应用程序中类库的连接字符串存储在哪里?我可以在 app.config 中使用吗?

c++ - 文件描述符,printf 和 std::cout 的区别