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