我试图了解使用kprobes捕获的回溯的输出。如果您希望看到完整的堆栈跟踪,那很好,但问题不是必需的。以下是摘录:
Jul 24 16:31:34 scilinx kernel: [<ffffffff813a2b2e>] ? ata_scsi_port_error_handler+0x4be/0x710
Jul 24 16:31:34 scilinx kernel: [<ffffffff813a2ea8>] ? ata_scsi_cmd_error_handler+0x128/0x180
Jul 24 16:31:34 scilinx kernel: [<ffffffff813a2f98>] ? ata_scsi_error+0x98/0xd0
Jul 24 16:31:34 scilinx kernel: [<ffffffff81386cfa>] ? scsi_error_handler+0x12a/0x810
Jul 24 16:31:34 scilinx kernel: [<ffffffff81386bd0>] ? scsi_error_handler+0x0/0x810
Jul 24 16:31:34 scilinx kernel: [<ffffffff8109aef6>] ? kthread+0x96/0xa0
您会注意到scsi_error_handler
在调用堆栈中与其自身相邻,但我无法找到原因。这是这个内核的scsi_error_handler function。正如你所看到的,它并没有自称。那么为什么stacktrace会像这样显示它自己呢?
感谢。