linux系统调试常用命令及知识点

命令:

1.strace

linux进程分析神器,它能够打开应用进程的这个黑盒,通过系统调用的线索,告诉你进程大概在干嘛。

参考:

 

linux系统调试常用命令及知识点_第1张图片

在Linux系统上,应用代码通过glibc库封装的函数,间接使用系统调用。

Linux内核目前有300多个系统调用,详细的列表可以通过syscalls手册页查看。这些系统调用主要分为几类:

文件和设备访问类 比如open/close/read/write/chmod等
进程管理类 fork/clone/execve/exit/getpid等
信号类 signal/sigaction/kill 等
内存管理 brk/mmap/mlock等
进程间通信IPC shmget/semget * 信号量,共享内存,消息队列等
网络通信 socket/connect/sendto/sendmsg 等
其他

-e trace=file     跟踪和文件访问相关的调用(参数中有文件名)
-e trace=process  和进程管理相关的调用,比如fork/exec/exit_group
-e trace=network  和网络通信相关的调用,比如socket/sendto/connect
-e trace=signal    信号发送和处理相关,比如kill/sigaction
-e trace=desc  和文件描述符相关,比如write/read/select/epoll等
-e trace=ipc 进程间通信相关,比如shmget等

2.gdb

3.valgrind

4.tcpdump

5.lsof

6.iostat

7.vmstat

8.pref

基础知识

linux多路复用

多进程/多线程

进程管理

内存管理

管道

socket

你可能感兴趣的:(linux系统调试常用命令及知识点)