我有一个用VC ++ 6编写并从C#应用程序调用的未管理的WIN32 dll。我在VS2010中有dll项目,在VS2017中有C#项目。两个项目都可以在调试/发布模式下成功运行。
我发现C#传递给dll 的参数有问题,因此想要调试dll项目。这就是我所做的。
- 打开VS2010 dll和VS2017 C#项目
- 更改两个项目'调试器类型为混合。
- 更改两个项目'用于启用非托管代码调试的属性(在VS2017中称为本机代码)
- 在我要调试的dll中的参数计算和我调用dll的C ##函数中设置断点
- 对于vs2017和vs2010,在工具>选项>调试>符号下我定义了为dll项目生成.pdb文件的路径,并选择"自动为所有模块加载符号"
- 开始调试C#代码
- 在VS2010 C ++项目中,选择附加到进程以将项目附加到vs2017 exe;根据我的选择我选择了#34;托管"和" native"
- 我的c ++代码的断点显示为无效,因为"此文档未加载任何符号"
醇>
我一直在努力解决这个问题。任何建议将非常感谢!