在 CentOS 系统中,调试进程通常使用 gdb(GNU 调试器)或 strace 工具。以下是使用这两个工具进行调试的基本步骤:
安装 GDB: 如果尚未安装 GDB,请使用以下命令安装:
sudo yum install gdb
启动 GDB:
使用 GDB 启动你的程序。例如,如果你的程序名为 myapp,可以使用以下命令:
gdb myapp
设置断点: 在你想要暂停执行的代码行设置断点。例如,在第 10 行设置断点:
break 10
运行程序:
使用 run 命令启动程序:
run
单步执行:
使用 next 命令逐行执行代码:
next
查看变量:
使用 print 命令查看变量的值:
print variable_name
继续执行:
使用 continue 命令继续执行程序,直到下一个断点或程序结束:
continue
退出 GDB:
使用 quit 命令退出 GDB:
quit
安装 strace: 如果尚未安装 strace,请使用以下命令安装:
sudo yum install strace
跟踪系统调用:
使用 strace 跟踪程序的系统调用和信号。例如,跟踪名为 myapp 的程序:
strace myapp
过滤输出:
使用 -e 选项过滤特定的系统调用或信号。例如,仅跟踪 open 和 read 系统调用:
strace -e open,read myapp
跟踪子进程:
使用 -f 选项跟踪子进程:
strace -f myapp
保存输出到文件:
使用 -o 选项将输出保存到文件:
strace -o output.txt myapp
退出 strace:
按 Ctrl+C 退出 strace。
通过这些步骤,你可以使用 GDB 和 strace 在 CentOS 系统中调试进程。根据你的需求选择合适的工具进行调试。