仅当使用 Microsoft .NET Framework 4 或更高版本时,才支持对 x64 进程进行混合模式调试
低于 4 的 .NET Framework 版本不支持对 x64 进程进行混合模式调试。 这意味着,当您进行调试时,无法从托管代码单步执行到本机代码,也无法从本机代码单步执行到托管代码。
问题解决
-
更新项目,使其使用 Microsoft .NET Framework 4 或更高版本。
- 或 -
在单独的调试会话中调试托管代码和本机代码。
- 或 -
作为 32 位进程调试混合代码,如下面的过程所述。
将平台更改为 32 位(Visual Basic 或 C#)
-
在“解决方案资源管理器”中,右击您的项目,然后单击“属性”。
-
在属性页中,单击“编译”或“调试”选项卡。
-
单击“平台”,然后从平台列表中选择“x86”。
默认情况下,Visual Basic 和 C# 编译器默认生成要在任何 CPU 上运行的代码。 在 64 位计算机上,这些二进制代码作为 64 位进程运行。 若要在 32 位进程中运行,必须选择“Win32”而不是“AnyCPU”。
将平台更改为 32 位 (C/C++)
-
在“解决方案资源管理器”中,右击项目并选单击“属性”。
-
在属性页中,单击“平台”,然后从平台列表中选择“Win32”。
低于 4 的 .NET Framework 版本不支持对 x64 进程进行混合模式调试。 这意味着,当您进行调试时,无法从托管代码单步执行到本机代码,也无法从本机代码单步执行到托管代码。
问题解决
-
更新项目,使其使用 Microsoft .NET Framework 4 或更高版本。
- 或 -
在单独的调试会话中调试托管代码和本机代码。
- 或 -
作为 32 位进程调试混合代码,如下面的过程所述。
将平台更改为 32 位(Visual Basic 或 C#)
-
在“解决方案资源管理器”中,右击您的项目,然后单击“属性”。
-
在属性页中,单击“编译”或“调试”选项卡。
-
单击“平台”,然后从平台列表中选择“x86”。
默认情况下,Visual Basic 和 C# 编译器默认生成要在任何 CPU 上运行的代码。 在 64 位计算机上,这些二进制代码作为 64 位进程运行。 若要在 32 位进程中运行,必须选择“Win32”而不是“AnyCPU”。
将平台更改为 32 位 (C/C++)
-
在“解决方案资源管理器”中,右击项目并选单击“属性”。
-
在属性页中,单击“平台”,然后从平台列表中选择“Win32”。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。