仅当使用 Microsoft .NET Framework 4 或更高版本时,才支持对 x64 进程进行混合模式调试

68 篇文章 0 订阅
3 篇文章 0 订阅


低于 4 的 .NET Framework 版本不支持对 x64 进程进行混合模式调试。 这意味着,当您进行调试时,无法从托管代码单步执行到本机代码,也无法从本机代码单步执行到托管代码。

问题解决

  • 更新项目,使其使用 Microsoft .NET Framework 4 或更高版本。

    - 或 -

    在单独的调试会话中调试托管代码和本机代码。

    - 或 -

    作为 32 位进程调试混合代码,如下面的过程所述。

将平台更改为 32 位(Visual Basic 或 C#)

  1. “解决方案资源管理器”中,右击您的项目,然后单击“属性”

  2. 在属性页中,单击“编译”“调试”选项卡。

  3. 单击“平台”,然后从平台列表中选择“x86”。

    默认情况下,Visual Basic 和 C# 编译器默认生成要在任何 CPU 上运行的代码。 在 64 位计算机上,这些二进制代码作为 64 位进程运行。 若要在 32 位进程中运行,必须选择“Win32”而不是“AnyCPU”

将平台更改为 32 位 (C/C++)

  1. “解决方案资源管理器”中,右击项目并选单击“属性”

  2. 在属性页中,单击“平台”,然后从平台列表中选择“Win32”。

低于 4 的 .NET Framework 版本不支持对 x64 进程进行混合模式调试。 这意味着,当您进行调试时,无法从托管代码单步执行到本机代码,也无法从本机代码单步执行到托管代码。

问题解决

  • 更新项目,使其使用 Microsoft .NET Framework 4 或更高版本。

    - 或 -

    在单独的调试会话中调试托管代码和本机代码。

    - 或 -

    作为 32 位进程调试混合代码,如下面的过程所述。

将平台更改为 32 位(Visual Basic 或 C#)

  1. “解决方案资源管理器”中,右击您的项目,然后单击“属性”

  2. 在属性页中,单击“编译”“调试”选项卡。

  3. 单击“平台”,然后从平台列表中选择“x86”。

    默认情况下,Visual Basic 和 C# 编译器默认生成要在任何 CPU 上运行的代码。 在 64 位计算机上,这些二进制代码作为 64 位进程运行。 若要在 32 位进程中运行,必须选择“Win32”而不是“AnyCPU”

将平台更改为 32 位 (C/C++)

  1. “解决方案资源管理器”中,右击项目并选单击“属性”

  2. 在属性页中,单击“平台”,然后从平台列表中选择“Win32”。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值