GDB错误:所选架构i386与报告的目标架构i386不兼容:x86-64

时间:2017-02-09 11:26:15

标签: c++ linux netbeans gdb netbeans-8

有谁知道这个错误意味着什么?

enter image description here

我在Linux机器上使用Netbeans 8.0,gdb 7.8.1。两天前一切都很好,然后当我开始调试时我突然开始出现这个错误,我不知道它意味着什么。
到目前为止,我试图清理并重置我能想到的一切:重新安装netbeans,清理所有本地文件,重新设置我的代码,取消设置所有断点等等。
谁能帮助我理解这个错误意味着什么?我从未设置过那些断点,Netbeans从哪里拿走它们?

提前致谢,
雷切尔

编辑

所以现在我有更多细节: 当我尝试使用GDB直接调试我的应用时,如果没有netbeans,我会收到以下错误:

  

启动程序:....
  警告:所选架构i386与报告的目标架构i386不兼容:x86-64
  警告:架构拒绝了目标提供的描述
  警告:
  无法插入断点-1。   暂时禁用共享库断点:   断点#-1   无法插入断点1。   无法访问地址0x8081527的内存

如何确定编译中的代码\标志使我的应用程序成为i386?我怎么能强迫它成为x86_64?

再次感谢。

3 个答案:

答案 0 :(得分:5)

好的,我机器上的gdb安装已经搞砸了。 任何人都无法想象它。我搬到了另一台机器上,一切都很好。

答案 1 :(得分:1)

当您尝试在非WSL应用程序上使用WSL gdb时,可能会出现此错误。

答案 2 :(得分:0)

我认为您更新了系统,并且最新版本的glib不支持32位应用程序。

您是否可以查找系统中所有binlib目录中的哪些文件在过去2天内更改了?如果它曾经支持它,但升级后的版本没有,那么编译为32位的应用程序(可能在您不知情的情况下)将不是该框上所有标准工具的有效目标。

您可以使用-m32-m64指定目标体系结构。如果要在不同的计算机上进行编译和调试,请查看是否可以显式指定它。