Stackx (Metalink: 362791.1) 是用于分析core文件的shell脚本,可用于IBM AIX, Intel Linux (RedHat and SuSE), HP-UX (10.* and 11.*), HP Tru64 和 Sun Solaris (2.5 – 2.10)环境。
当应用程序产生错误时(比如访问禁止的内存区域)可能会被操作系统强行终止并产生core文件,里面包含程序调用的相关函数。stackx从该二进制文件中读取相关的stack trace信息,并形成可读的文本。
下面是在Solaris的示例:
###################################################################### stackx core / stack trace extraction utility version 1.1 (c) 2005, 2006 Oracle Corp. all rights reserved. Reporting: Thu Jun 5 08:48:46 CST 2008 Machine : SunOS mytest 5.10 Generic_118833-03 sun4u sparc SUNW,Sun-Fire-V890 CPU Bits : 32 Core file: ../core Core date: Jun 3 16:42 Tool(s) : /usr/bin/pstack /usr/bin/pmap /usr/bin/pflags Program : f60webmx Core extraction section follows ######################################################################core '../core' of 29359: f60webmx webfile=5,180,test_9008_MYTEST fef60fd8 ixncwst_WriteString (f98e78, fa6508, 0, 1, 100, f98e78) + 4 (省略 N 字) 000887bc main (2, ffbfb76c, 8000, de1ff0, 64, ###################################################################### PMAP OUTPUT core '../core' of 29359: f60webmx webfile=5,180,test_9008_MYTEST 00010000 4032K r-x-- /u01/test/myappl/fnd/11.5.0/bin/f60webmx (省略 N 字) FF3F0000 8K rwx-- /lib/ld.so.1 FFBEC000 80K rwx-- [ stack ] total 72264K ###################################################################### PFLAGS OUTPUT core '../core' of 29359: f60webmx webfile=5,180,test_9008_MYTEST data model = _ILP32 flags = MSACCT|MSFORK /1: flags = 0 sigmask = 0xffffbefc,0x0000ffff cursig = SIGSEGV ###################################################################### stackx done.+ 188 0008860c _start (0, 0, 0, 0, 0, 0) + dc