如何在64位环境下调试Visual Studio

6

好的,在创建应用程序后,我希望它能兼容64位和32位系统。默认情况下,Visual Studio在x86(即32位)中调试应用程序。那么,我如何使Visual Studio在64位系统中进行x64调试。

谢谢。


你用什么语言编写了你的应用程序? - Nasreddine
“默认情况下,Visual Studio在x86中调试应用程序”是什么意思?这甚至没有意义。如果您的应用程序是64位的,Visual Studio将调试您的64位应用程序 - 它不会强制您的64位应用程序以32位运行。” - Joe White
1
你的项目配置是什么?任何CPU?x64?x86?你的开发机器上安装了32位还是64位操作系统? - Lasse V. Karlsen
好的,让我稍微解释一下。首先,我正在64位操作系统上进行VB语言编程。当我启动Visual Studio 2010 >> 新建项目时,配置管理器如下所示:解决方案配置:调试和解决方案平台:x86。因此,我认为这是在32位下进行调试,对吗? - user959631
1个回答

6

如果不确定是哪种语言,但如果它是C#……

在Visual Studio 2010中,C#项目的默认构建设置是在调试模式下进行x86构建。 要在64位系统上进行调试,您只需将构建设置更改为64位即可。

  • 右键单击项目并选择属性
  • 切换到生成选项卡
  • 将“平台目标”更改为x64

C#项目的默认构建设置不是“x86”,而是“Any CPU”(至少在VS 2008中),这意味着当您拥有64位系统时,IL代码将自动以64位模式运行,否则以32位模式运行。 - Doc Brown
@DocBrown 是的。我忘记了它在2010年改为大多数应用程序默认使用x86。我会更新。 - JaredPar
1
在VS 2012中,C#的默认构建是针对AnyCPU,但在x86上进行调试。在64位系统上,按照JaredPar的说明强制在64位模式下进行调试。AnyCPU是一个令人困惑的术语。它意味着VS将构建与AnyCPU兼容的可执行文件,但不涉及调试模式。调试模式由“平台目标”设置指定。 - BSalita
在VS 2012中,VB.Net使用术语“所有平台”来表示C#的“AnyCPU”。VB.Net使用“目标CPU”来表示C#的“平台目标”。 - BSalita
这会将生成的输出从AnyCPU更改为x64,因此无法实现调试AnyCPU目标的目标 - 可以作为32位,WoW64或本机64位运行的任何CPU目标 - 作为本机64位。 - David Burg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接