我的主要启动项目在c++中。该解决方案还涉及托管的c代码。当我调试时,我只在非托管部分上有断点(在托管断点上,它表示:"断点当前不会被命中。无效文件行"
我检查了引用,发现那里有dll和pdb。
可能是什么?
不要错过底部的链接。
如果像我一样,您正试图从本机C++项目调试C++/CLI(即,您在单个文件上设置了/CLR),但它永远不会遇到断点,也无法介入。好吧,我的朋友们,在VS2015去
工具->选项->调试->通用
并勾选小方框,上面写着:
启用.NET Framework源步进
我相信你还需要将其设置为混合模式调试,如上所述,但仅凭这一点对我来说是不够的。勾选该框后,我可以从非托管C++进入托管代码。。。这里有大量疯狂的技术。。。
您必须启用混合模式调试。我一时想不起那是在哪里了。
我在混合模式调试方面遇到了很多问题。事实上,有些程序变得不稳定(Excel interop主要对我来说),你不能再编辑并继续了。
同时调试托管模式和非托管模式的一个好方法是设置一个新的伪项目,该项目将把非托管调试器附加到应用程序。您可以使用旧项目调试托管代码,分离托管代码,并在想要调试本机代码时附加本机调试器。这样,您还可以编辑和继续这两个代码。
关于设置的说明在那里。