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, 8) + 188
 0008860c _start   (0, 0, 0, 0, 0, 0) + dc

######################################################################
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.