我在aix 5.3上運行的aix共享庫上使用gdb? 當我嘗試此文件 我得到一個錯誤信息「」文件的結構不承認」運行GDB 不知道如何得到這個固定。爲什麼GDB會說「文件架構無法識別」?
有誰知道爲什麼我得到這個消息‘’文件架構未被識別「?
gdb在由xlc編譯的其他可執行文件上運行良好。
是否有一些選項可能在編譯時使用,這與GDB.some處理器特定的選項不兼容。
我爲aix編譯了共享庫w xlc v9.0。
謝謝。
我在aix 5.3上運行的aix共享庫上使用gdb? 當我嘗試此文件 我得到一個錯誤信息「」文件的結構不承認」運行GDB 不知道如何得到這個固定。爲什麼GDB會說「文件架構無法識別」?
有誰知道爲什麼我得到這個消息‘’文件架構未被識別「?
gdb在由xlc編譯的其他可執行文件上運行良好。
是否有一些選項可能在編譯時使用,這與GDB.some處理器特定的選項不兼容。
我爲aix編譯了共享庫w xlc v9.0。
謝謝。
void set_gdbarch_from_file (bfd *abfd) { struct gdbarch_info info; struct gdbarch *gdbarch; gdbarch_info_init (&info); info.abfd = abfd; info.target_desc = target_current_description(); gdbarch = gdbarch_find_by_info (info); if (gdbarch == NULL) error (_("Architecture of file not recognized.")); deprecated_current_gdbarch_select_hack (gdbarch); }
這是有問題的實際GDB代碼(gdb/arch-utils.c:530-544)。
傳遞給gdbarch指針的信息似乎無效。這是由gdb_find_by_info返回一個NULL指針引起的,而這是由find_arch_by_info(gdb/gdbarch.c:3656)返回一個NULL指針引起的。
它基本上意味着它說:GDB無法識別文件的體系結構。這似乎是xlc的一個common問題,即使是最近的gdb版本也是如此。
XLC和gdb是,據我記憶和理解,不是很好,當它歸結到兼容性方面(AIX支持是最小的),你可以嘗試使用Gnu C Compiler。你可以看一下GDB源VERY具體信息(我真的不能給你)。
Here是指向gcc-AIX細節的鏈接。
您不會在共享庫上運行GDB,您可以在可執行文件上運行它。
如果可執行文件加載共享庫,GDB會知道它。
不完全是一個問題......也許你可以提供更多的細節.... – 2009-06-08 06:54:00