gdb7.6没有核心文件处理程序可识别的格式

问题描述 投票:4回答:1

[当我使用gdb7.6分析核心文件时,gdb打印以下错误:

“ ./ core:没有核心文件处理程序可识别格式”

我的环境:

  • HP-UX hp12161 B.11.31 U ia64 0546304299。
  • Compiler:gcc4.7.2。
  • gdb7.6 Configure =。/ configure --enable-64-bit-bfd。

[我注意到在ia64-hpux平台中gdb不会调用set_gdbarch_regset_from_core_section,deprecated_add_core_fns接口。

我应该如何解决此问题?

gdb hp-ux
1个回答
0
投票

您应该使用HPE Wildebeest Debugger。这是HPE在hp-ux上运行的GNU gdb的分支。 GNU gdb在hp-ux上不起作用,在用hp-ux aCC生成的可执行文件或用gcc生成的可执行文件上均不起作用。

例如,使用此系统上可用的任何gdb版本:

[ hp-ux_ia64 ~ ] $ gcc --version
gcc (GCC) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我制作了一个程序转储核心:

[ hp-ux_ia64 ~ ] $ cat > 1.c
main () { ((int*)0)[0]=1; }
[ hp-ux_ia64 ~ ] $ gcc 1.c
[ hp-ux_ia64 ~ ] $ ./a.out
Segmentation fault (core dumped)

正在运行GNU gdb,我可以重现您遇到的问题。

[ hp-ux_ia64 ~ ] $ /usr/local/bin/gdb -c core
GNU gdb (GDB) 7.6.2
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "ia64-hp-hpux11.23".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
"/user/ranga/core": no core file handler recognizes format
(gdb) quit

HPE gdb给了我适当的堆栈跟踪。

[ hp-ux_ia64 ~ ] $ /opt/langtools/bin/gdb -c core
HP gdb 6.7 for HP Itanium (32 or 64 bit) and target HP-UX 11iv2 and 11iv3.
Copyright 1986 - 2011 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 6.7 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.

Reading symbols from a.out...(no debugging symbols found)...done.
Core was generated by `a.out'.
Program terminated with signal 11, Segmentation fault.
SEGV_ACCERR - Invalid Permissions for object
#0  0x4000870:0 in main+0x10 ()
(gdb) bt
#0  0x4000870:0 in main+0x10 ()
(gdb)
© www.soinside.com 2019 - 2024. All rights reserved.