1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| (gdb) file vmlinux (gdb) target remote:8864 (gdb) b cmdline_proc_show # 虚拟机中执行 `cat /proc/cmdline` 触发断点 ... (gdb) bt #0 cmdline_proc_show (m=0xffff88018763b500, v=0x1 <irq_stack_union+1>) at fs/proc/cmdline.c:8 #1 0xffffffff812ccdfa in seq_read (file=0xffff88016b348d00, buf=<optimized out>, size=<optimized out>, ppos=0xffffc9000368fee8) at fs/seq_file.c:229 #2 0xffffffff81324b8e in proc_reg_read (file=<optimized out>, buf=<optimized out>, count=<optimized out>, ppos=<optimized out>) at fs/proc/inode.c:231 #3 0xffffffff812a422a in __vfs_read (file=0xffff88018763b500, buf=<optimized out>, count=<optimized out>, pos=0xffffc9000368fee8) at fs/read_write.c:416 #4 0xffffffff812a43fe in vfs_read (file=0xffff88016b348d00, buf=0x7f4de8fa3000 <error: Cannot access memory at address 0x7f4de8fa3000>, count=131072, pos=0xffffc9000368fee8) at fs/read_write.c:452 #5 0xffffffff812a49c5 in ksys_read (fd=<optimized out>, buf=0x7f4de8fa3000 <error: Cannot access memory at address 0x7f4de8fa3000>, count=131072) at fs/read_write.c:578 #6 0xffffffff812a4a4a in __do_sys_read (count=<optimized out>, buf=<optimized out>, fd=<optimized out>) at fs/read_write.c:588 #7 __se_sys_read (count=<optimized out>, buf=<optimized out>, fd=<optimized out>) at fs/read_write.c:586 #8 __x64_sys_read (regs=<optimized out>) at fs/read_write.c:586 #9 0xffffffff8100427a in do_syscall_64 (nr=<optimized out>, regs=0x1 <irq_stack_union+1>) at arch/x86/entry/common.c:290 #10 0xffffffff81c00088 in entry_SYSCALL_64 () at arch/x86/entry/entry_64.S:238 Backtrace stopped: Cannot access memory at address 0x1fec0 (gdb) f 0 #0 cmdline_proc_show (m=0xffff88018763b500, v=0x1 <irq_stack_union+1>) at fs/proc/cmdline.c:8 8 { (gdb) p m $2 = (struct seq_file *) 0xffff88018763b500
|