2017-02-09 1445 views
10

有谁知道这个错误的含义是什么?GDB错误:选定的架构i386与报告的目标架构i386不兼容:x86-64

enter image description here

我使用Netbeans 8.0,Linux计算机GDB 7.8.1工作。一切都很好,直到两天前,然后当我开始调试时突然开始出现这个错误,我不知道它的含义。
到目前为止,我正在尝试清理并重置所有我能想到的事情:重新安装netbeans,清理所有本地文件,重新设置代码,取消设置所有断点等等。
任何人都可以请帮我理解这个错误的含义吗?我从来没有设置过这些断点,Netbeans从哪里拿走它们?

由于提前,
雷切尔

编辑

所以现在我有更多的细节: 当我试图调试我用GDB直接应用程序,而无需netbeans的我收到以下错误:

Starting program: ....
warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64
warning: Architecture rejected target-supplied description
Warning:
Cannot insert breakpoint -1. Temporarily disabling shared library breakpoints: breakpoint #-1 Cannot insert breakpoint 1. Cannot access memory at address 0x8081527

我怎么能弄清楚哪些代码\标志编译让我的应用程序是i386的?我怎么能强制它是x86_64?

再次感谢。

+0

但是,您在此之前正在开发您的代码,对吗? 何时弹出这条消息? –

+0

有NetBeans日志文件。在我的机器上,它位于'〜/ .netbeans/8.2/var/log'中。 – HEKTO

+0

也许你需要清理以前会话的断点。查看调试/断点窗口并删除任何断点。 – dbrank0

回答

6

好吧,我机器上的gdb安装被拧紧了。 任何人都无法想象它。我搬到了另一台机器,现在一切都很好。

0

我想你更新了系统,最新版本的glib不支持32位应用程序。

能否找到找出系统中所有binlib目录中哪些文件在最近2天内发生了更改?如果它用来支持它,但升级版本不支持,那么编译为32位的应用程序(可能并不知道)将不会成为盒子上所有标准工具的有效目标。

-m32-m64指定目标架构。如果你在不同的机器上编译和调试,看看你是否可以明确地指定它。

+0

我检查了我的应用程序以及它使用的所有共享库 - 它们都是x32。任何其他想法? – RRR

相关问题