调试
查看目标文件信息
查看目标文件段信息
readelf -S test | grep debug
查看文件信息,是否有调试信息等
file test
移除调试信息
strip test
gdb调试
1. 可执行文件
gcc -g test.c -o test
gdb test
(gdb)set args
(gdb)run
2. 调试已运行程序
先查看进程号ps -ef | grep pname
gdb attach pid
or
(gdb)attach pid
调试相关id进程
gdb test --pid pid
若已运行程序没有调试信息
编译出一个带调试信息的版本,在attach之前,使用file命令即可
3. 调试core文件
查看进程信息cat /proc/pid/limits
查看是否开启生成core文件
ulimit -c
or
ulimit -a
core file size (blocks, -c) 0
开启生成core文件,不限制core文件大小
ulimit -c unlimited
设置core文件大小,单位为块,一块默认512字节
ulimit -c 10
默认文件名都叫core,为了区分,添加pid到文件名后缀
echo "1" > /proc/sys/kernel/core_uses_pid
指定core文件名格式和路径
echo "/home/ubuntu/corefile/core-%e-%p" > /proc/sys/kernel/core_pattern
调试core文件
gdb <exefile> <corefile>
标签:core,pid,gdb,调试信息,使用,test,调试
From: https://www.cnblogs.com/sgqmax/p/18530309