作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我的解决方案中有以下三个项目:1.C#库2. C++/CLI 托管代码3. C++非托管代码
我确实在我的 C# 项目中选中了“启用非托管代码调试”,并在 Debug/Win32 中构建了两个 C++ 项目。但是,我无法进入非托管代码 - 当我 F11 调用任何非托管方法时,它会显示一些随机/错误代码然后退出。
因为我的单元测试通过了,我知道我的非托管代码确实执行了。
我错过了什么?
最佳答案
当我遇到这个问题时,它来自以下原因之一:
1) 未选中启用非托管代码调试。你已经解决了这个问题。
2) 将 EXE 构建为 x64 或任何 CPU(他们说 x64 可以工作,但事实并非如此)。我想你已经解决了这个问题。
3) 启用“仅我的代码”有时会导致非托管代码调试出现问题(工具、选项、调试器、仅我的代码)
4) C++ 项目设置中的调试选项不正确
5) PDB 文件丢失、损坏或不匹配。您可以通过在调试器中运行时尝试在 C++ 代码中设置断点来检查这一点。如果断点变成空心圆圈,则说明您的调试信息有问题。当你在 Debug模式下运行时,还要检查你的输出窗口——它应该告诉你谁的符号被加载了。
关于c# - 如何从我的 C++/CLI 代码进入非托管 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6917713/
我是一名优秀的程序员,十分优秀!