随笔-软件调试-addr2line segfault at 0 动态库

原理:https://spotcodereviews.com/articles/debugging/2021/04/09/how-to-debug-a-segmentation-fault-without-a-core-dump.html

The corresponding Linux kernel source from arch/x86/mm/fault.c

	printk("%s%s[%d]: segfault at %lx ip %px sp %px error %lx",
		loglvl, tsk->comm, task_pid_nr(tsk), address,
		(void *)regs->ip, (void *)regs->sp, error_code);

示例:

app[线程id] segfault at 10 ip 00007fe9367e3104 sp 00007ffec987f5b8 error 4 in libc.so.6[7fe936755000+1ed000]
xpos=$(printf "0x%X\n" $((0x7fe9367e3104 - 0x7fe936755000))); addr2line -e /lib64/libc.so.6 -f $xpos
___pthread_mutex_lock
/usr/src/debug/glibc-2.34-149.oe2203.x86_64/lx001/pthread_mutex_lock.c:76
posted @ 2024-11-24 21:09  LiYanbin  阅读(18)  评论(0)    收藏  举报