一起调试托管代码和非托管代码
Debug Managed and Unmanaged code together
我的主要启动项目在c++中。该解决方案还涉及托管的c代码。当我调试时,我只在非托管部分上有断点(在托管断点上,它表示:"断点当前不会被命中。无效文件行"
我检查了引用,发现那里有dll和pdb。
可能是什么?
不要错过底部的链接。
如果像我一样,您正试图从本机C++项目调试C++/CLI(即,您在单个文件上设置了/CLR),但它永远不会遇到断点,也无法介入。好吧,我的朋友们,在VS2015去
工具->选项->调试->通用
并勾选小方框,上面写着:
启用.NET Framework源步进
我相信你还需要将其设置为混合模式调试,如上所述,但仅凭这一点对我来说是不够的。勾选该框后,我可以从非托管C++进入托管代码。。。这里有大量疯狂的技术。。。
您必须启用混合模式调试。我一时想不起那是在哪里了。
我在混合模式调试方面遇到了很多问题。事实上,有些程序变得不稳定(Excel interop主要对我来说),你不能再编辑并继续了。
同时调试托管模式和非托管模式的一个好方法是设置一个新的伪项目,该项目将把非托管调试器附加到应用程序。您可以使用旧项目调试托管代码,分离托管代码,并在想要调试本机代码时附加本机调试器。这样,您还可以编辑和继续这两个代码。
关于设置的说明在那里。
相关文章:
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- LLVM |如何实现逻辑非操作的 IR 代码生成
- 如何使用指针直接从托管代码中的非托管代码中读取矢量数据
- 如何优化此代码战争 c++ 代码?
- 异步接口托管 - > 非托管代码
- 如何在Ubuntu中使用Visual Studio代码编译C++代码
- 跟踪非管理C#代码中违反访问的来源
- 如何从托管C#代码拨打SystemParameterSinfow函数
- 如何避免语法相同的常量和非常量函数之间代码重复,这些函数在语义上不相同
- llvm可以执行托管语言的代码吗
- 将C++类移植到ref类(从非托管到托管)
- 将非托管和托管dll合并到DotNet中的单个dll中
- 查找带有非 ASCII 注释的C++代码中出现的非 ASCII 字符
- 非托管字符 * 数组到托管系统::托管C++中的字符串
- 非托管C++代码的代码度量分析
- Qt: QMainWindow最大化/非最大化时触发代码
- 非托管和托管c++ DLL之间的互操作性
- 从非托管调用托管代码时发生StackoverflowException
- 非托管到托管返回对象,包含BOOL
- 如何从非托管c++调用托管c++方法