2017-02-09 62 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