Hower Chow's Website

How to Debug

Date: . Last updated: .

GDB

info vtbl EXPRESSION
ptype/o EXPRESSION

查看內存

x /nfu ADDR
x /4xb &a 4个字节 16进制的形式

disassemble /s 汇编 源码


until + 行号: 指定行号跳转
		    

"看到 (core dumped) 应该感到高兴才对,因为他把程序崩溃时的运行时信息完完全全地记了下来,包括他的整个内存、所有线程、堆栈信息、寄存器等等…… 这样一来就给找到 bug 提供了一条很好的线索。"

Debug

ls /var/lib/systemd/coredump
coredumpctl list coredumpctl gdb [PID]

Break Point

条件断点: break line-or-function if expr
临时断点: tbreak args
跳过断点: continue n
删除断点:delete 断点编号
跳出函数: finish
附加进程: gdb attach $(pidof program_name)
查看参数: info args
跳转执行: jump 行号/函数

Link

命令

Google Sanitizers

sanitizers

Valgrind