当前位置:首页>Linux>Linux核心转储(core dump)生成与分析

Linux核心转储(core dump)生成与分析

  • 2026-09-08 16:03:14
Linux核心转储(core dump)生成与分析

一、 启用核心转储文件生成(临时无限制)

ulimit -c unlimited

二、分析命令

1、加载core文件

gdb  sender core.22301

# 或

gdb -c core.22301 sender 

2、查看堆栈跟踪

(gdb) bt                 # 显示简略堆栈

(gdb) bt full            # 显示完整堆栈(含局部变量)

(gdb) bt 10              # 显示最近10层堆栈

(gdb) frame <N>          # 切换到第N层堆栈

(gdb) up                 # 上一层堆栈

(gdb) down               # 下一层堆栈

3、 查看具体变量和内存

(gdb) info locals                    # 查看当前帧所有局部变量

(gdb) print variable_name            # 打印变量值

(gdb) print/x variable_name          # 十六进制显示

(gdb) print *pointer@10              # 打印指针指向的前10个元素

(gdb) x/20wx memory_address          # 以4字节十六进制查看内存

(gdb) x/10i $pc                      # 查看当前汇编指令

4、寄存器查看

(gdb) info registers                 # 查看所有寄存器

(gdb) info registers eax ebx ecx     # 查看指定寄存器

(gdb) print $rax                     # 打印RAX寄存器值

(gdb) x/i $pc                        # 查看当前指令

5、 多线程调试

(gdb) info threads                   # 查看所有线程

(gdb) thread <id>                    # 切换到指定线程

(gdb) thread apply all bt           # 所有线程打印堆栈

最新文章

随机文章