vs2008上进行托管代码与X64非托管代码调试问题

来源:互联网 发布:自学软件测试 编辑:程序博客网 时间:2024/06/15 15:51

问题背景:

使用vs2008 C#实现业务功能开发,之前调用底层库的x86版本的dll,在“调试”选择“启用非托管代码调试”后,

顺利实现托管代码与非托管代码的混合调试。

底层库升级到x64后,继续沿用此思路,运行工程,提示“无法进行调试”。

处理方法:

在vs2008上,经过反复测试,始终无法解决。

后将工程升级到vs2010,运行工程时,明确提示“必须要托管代码基于framework4.0及以上”。

修改c#工程的framework版本到4.0,重新编译,可以正常调试了。

----------------------------

小结:在vs上进行x64版本的代码混合调试,托管代码需要升级到framework4.0。


----------------------------

调试方法:【dll工程和调用dll的exe工程在同一个解决方案中】
dll工程,属性-配置属性-调试-把 命令 为 调用该dll的exe工程的bin\Debug\*.exe
dll工程,属性-配置属性-调试-把 调试器类型 设置为 仅限本机
dll工程,属性-配置属性-常规-把输出目录设置为 调用该dll的exe工程的bin\Debug目录下
在dll工程中打好断点,然后重新生成dll工程,为了输出dll到设置的目录下
然后
exe工程,属性-调试-启用非托管代码调试
exe工程,设置为启动项目
好了
运行,OK
上面的步骤是参考了网上很多资料总结出来的,可能有的设置没有用,不过反正全部设置OK了之后是肯定行的

0 0
原创粉丝点击