低于 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”。
时间: 2024-10-02 20:12:54