【发布时间】:2011-09-04 06:34:11
【问题描述】:
我的主要启动项目是 C++。该解决方案还涉及托管 c# 代码。 当我调试时 - 我只在非托管部分有断点(在托管断点上它指出:“断点当前不会被命中。无效的文件行”
我检查了引用,发现那里有 dll 和 pdb。
会是什么?
【问题讨论】:
标签: c# c++ debugging unmanaged managed
我的主要启动项目是 C++。该解决方案还涉及托管 c# 代码。 当我调试时 - 我只在非托管部分有断点(在托管断点上它指出:“断点当前不会被命中。无效的文件行”
我检查了引用,发现那里有 dll 和 pdb。
会是什么?
【问题讨论】:
标签: c# c++ debugging unmanaged managed
如何设置混合模式调试 http://msdn.microsoft.com/en-us/library/kbaht4dh(v=vs.100).aspx
不要错过底部的链接。
【讨论】:
如果您像我一样尝试从本机 C++ 项目调试 C++/CLI(即您已在单个文件上设置 /CLR),并且它永远不会遇到断点并且无法进入。那么我的朋友们,在 VS2015 中去
工具->选项->调试->常规
然后在下面的小方框打勾:
启用 .NET Framework 源代码步进
我相信您还需要将其设置为混合模式调试,就像上面的答案一样,但这对我来说还不够。勾选该框后,我可以从非托管 C++“进入”托管代码......这里有大量的技术在后台运行......
【讨论】:
您必须启用混合模式调试。我不记得那是在哪里,顺便说一句。
【讨论】:
我在混合模式调试方面遇到了很多问题。确实,有些程序变得不稳定(Excel 互操作主要是为了我),你不能再编辑和继续了。
同时调试托管和非托管模式的一个好方法是设置一个新的虚拟项目,它将非托管调试器附加到您的应用程序。您可以使用旧项目调试托管代码,将其分离并在要调试本机代码时附加本机调试器。这样,您还可以对这两个代码进行编辑和继续。
有关设置的说明是there。
【讨论】: