【48】gdb 查看core堆棧信息

1、查看系統資源設置情況
用戶態程序Segmentation fault會生成core文件,如果沒有生成core文件,則使用ulimit命令顯示系統資源的設置,看看core文件大小設置,可以看到現在core file size是0,無法生成core文件
root@cd-106:~/pcieinject# ulimit
unlimited
root@cd-106:~/pcieinject# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 319992
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 319992
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2、設置core file size爲unlimited
root@cd-106:~/pcieinject# ulimit -c unlimited
root@cd-106:~/pcieinject# ulimit -a

core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 319992
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 319992
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

3、執行用戶態程序,生成core文件
Segmentation fault (core dumped)
root@cd-106:~/pcieinject# ll
total 716
drwxr-xr-x 6 root root 4096 Jan 3 09:45 ./
drwx------ 25 root root 4096 Jan 2 21:03 …/
drwxr-xr-x 2 root root 4096 Dec 25 10:52 comlib/
-rw------- 1 root root 602112 Jan 3 09:45 core

4、解析core文件
root@cd-106:~/pcieinject# gdb pcieinject core
使用backtrace或者bt找到調用棧
(gdb) bt

參考
https://blog.csdn.net/u013283985/article/details/80620237
https://www.cnblogs.com/schips/p/10735807.html
https://baijiahao.baidu.com/s?id=1599347824327158577&wfr=spider&for=pc

發佈了35 篇原創文章 · 獲贊 9 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章