我有核心转储文件。我将c二进制应用程序(使用Debug ON选项构建)保存在GDB路径中,这会导致core转储以及core文件。
但是当我执行GDB
时,我得到的堆栈信息如下:
sura@hyde:/abc/def/ghi/appln [css_absmin] gdb application_name core_1206
HP gdb 3.0 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 3.0 (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.
..
warning: exec file is newer than core file.
Core was generated by 'application_name'.
Program terminated with signal 11, Segmentation fault.
#0 0xc0199640 in ?? ()
(gdb) where
#0 0xc0199640 in ?? ()
(gdb) bt
#0 0xc0199640 in ?? ()
(gdb)
C二进制是在PA-RISC (unix)中编译的。
如何获得违规函数名称?
sun,
你发布了一个关于gdb
的问题,但HP- ux gdb不是GNU gdb
,而是由HP定制的gdb
。所以叫做Hewlett-Packard Wildebeest (based on GDB)
- wdb
。您的问题是您有非常旧的版本的wdb
。现在,HP为运行HP- ux 11i v1、11i v2或11i v3的HP 9000系统提供了gdb 6.5 (http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801/?ciid=29080f1bace021100f1bace02110275d6e10RCRD),您的版本是3.0!
你似乎有HP- ux 11.00,所以你可以在HP- ux论坛上询问HP 11.00的最新wdb
。在这里提问:http://h30499.www3.hp.com/t5/Languages-and-Scripting/bd-p/itrc-150#。此外,在为您的PA-RISC安装最新的wdb后,请尝试再次使用它进行回溯。我希望你将得到一个正确的回溯与最新的wdb
。