【发布时间】:2011-08-22 18:42:29
【问题描述】:
我正在处理一个多线程项目,并且启动项目设置为运行我的 UI 的 c# 项目。然后是一系列底层 C++ 原生项目,它们通过托管 C++/CLI 项目连接到 C#。我在 c# 启动项目中启用了“启用非托管调试”,当我尝试调试本机代码时,我能够达到我设置的断点。但是,在我尝试再次运行它并尝试再次达到断点后,它会挂起。例如,如果我有一个循环,我尝试在每次迭代中点击它,在第二次迭代之后程序挂起,我必须强制退出。我在 Visual Studio 2010 中工作。调试开始以这种速度证明不是太有用,有什么办法可以排除这个问题吗?
【问题讨论】:
-
使用多个调试器实例。一种用于托管,一种用于非托管。当然,这意味着您必须根据情况进行连接和分离。当然,强大的单元和集成测试首先比整个应用程序调试要好得多。
-
@Ritch:关于多个调试器实例的建议听起来很有趣。恕我直言,值得全面回答。
-
@Ritch:我认为经常失败的单元和特别是。然后,集成测试将引导您使用调试器找出究竟出了什么问题!
-
@Martin 这就是我过去的做法。这是一个非常大的项目,但对于错误发生在栅栏的哪一侧却是微不足道的。
标签: c# c++ visual-studio-2010 debugging c++-cli