问题描述
|
我的主要启动项目是c ++。该解决方案还涉及托管的C#代码。
当我调试时-我仅在非托管部分上有断点(在托管断点上,它指出:\“该断点当前不会被命中。无效的文件行\”
我检查了参考,发现那里有dll和pdb。
会是什么呢?
解决方法
如何设置混合模式调试
http://msdn.microsoft.com/zh-CN/library/kbaht4dh(v=vs.100).aspx
并且不要错过底部的链接。
, 如果像我一样,如果您尝试从本机C ++项目中调试C ++ / CLI(即,您已经在单个文件上设置了/ CLR),并且它永远不会遇到断点并且无法被执行。好吧,我的朋友们,在VS2015中
工具->选项->调试->常规
并在小方框上打勾:
启用.NET Framework源代码步进
我相信您还需要将其设置为混合模式调试,例如上面的答案,但是仅此一项对我来说还不够。选中该框,我可以从非托管C ++进入托管代码“进入”……这里有大量的技术在进行……
, 您必须启用混合模式调试。我想不起来那是副手。
, 我在混合模式调试中遇到了很多问题。确实,某些程序不稳定(主要是对我来说是Excel互操作),您不能再编辑并继续。
同时调试托管和非托管模式的一种好方法是设置一个新的虚拟项目,该项目会将非托管调试器附加到您的应用程序。您可以使用旧项目调试托管代码,将其分离并在要调试本机代码时附加本机调试器。这样,您还可以编辑并继续执行这两个代码。
有关设置的说明,请参见。