Strace是Linux环境下用于调试诊断应用程序调用systemcall的工具。
由于Strace只检测系统调用,因此Strace只是一个分析的侧面。
例如:命令perl -e 'while(1){}'
不会产生任何系统调用
系统调用包括以下几个方面file, process, network, signal, ipc, desc, 默认将检测所有系统调用即all
Strace是Linux环境下用于调试诊断应用程序调用systemcall的工具。
由于Strace只检测系统调用,因此Strace只是一个分析的侧面。
例如:命令perl -e 'while(1){}'
不会产生任何系统调用
系统调用包括以下几个方面file, process, network, signal, ipc, desc, 默认将检测所有系统调用即all
core dump是程序运行时,在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写入一个磁盘文件。
对应会产生core dump的信号
Signal | Action | Comment |
---|---|---|
SIGQUIT | Core | Quit from keyboard |
SIGILL | Core | Illegal Instruction |
SIGABRT | Core | Abort signal from abort |
SIGSEGV | Core | Invalid memory reference |
SIGTRAP | Core | Trace/breakpoint trap |
我们可以通过使用gdb查core dump文件,最后崩溃时的信息,来进行debug
为了更好的查看阅读core dump文件, linux下需要进行以下配置