WEB开发网
开发学院操作系统Linux/Unix AIX 调试工具 阅读

AIX 调试工具

 2010-03-25 00:00:00 来源:WEB开发网   
核心提示: 可以使用以下工具检查进程或核心,所有命令都以 proc<cmd> 开头,AIX 调试工具(6),在生产环境中检查进程时应该特别小心,因为这些工具在进行检查时实际上会停止进程,-s [!] Signal 允许列出要跟踪或排除的信号, 使用 truss 跟踪 SUID 进程不允许使用 t

可以使用以下工具检查进程或核心。所有命令都以 proc<cmd> 开头。在生产环境中检查进程时应该特别小心,因为这些工具在进行检查时实际上会停止进程。

procstack 输出进程的堆栈跟踪。

procflags 输出进程的未处理信号和持有的信号。

procsig 输出进程的信号操作和处理程序。

procfiles 报告每个进程中所有打开的文件的 fstat 和 fcntl 信息。

procwdx 输出分别用于停止和重新运行进程的 procstop 和 procrun 的当前工作目录。

proctree 输出包含指定进程 ID (PID) 或用户的进程树,子进程相对于父进程缩进显示。

观察进程

truss 生成跟踪信息,包括进程执行的系统调用、它收到的信号和它导致的机器错误。在默认情况下,不跟踪用户级函数。可以使用 truss -u '*' -p <pid> 启用对所有用户级函数的跟踪。

有用的选项:

-p 提供 PID。

-u [!] [LibraryName [...]::[!]FunctionName [...] ] 跟踪从用户库动态装载的用户级函数。

-a 显示每个 exec() 系统调用中传递的参数字符串。

-f 跟踪通过 fork() 或 vfork() 创建的所有子进程,跟踪输出中包括它们的信号、错误和系统调用。

-m [!]Fault 跟踪进程中列出的机器错误(见 sys/procfs.h 头文件)。

-s [!] Signal 允许列出要跟踪或排除的信号。

使用 truss 跟踪 SUID 进程

不允许使用 truss 跟踪通过 SUID 作为另一个用户运行的命令,因为系统认为它不属于您使用的用户。系统会显示以下错误:

# truss -deaf -o truss.out program 
 
truss: 0915-015 Cannot create subject process. 
wait4all: i: 0, status: 32512, pid: 643282, created: 0 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:AIX 调试 工具

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接