2016-02-10 113 views
1

任何人都可以告诉我如何轻松增加在Linux内核崩溃时报告的调用堆栈函数的数量?Linux内核崩溃调用堆栈长度

目前我看到:

[<80100ca8>] (free_buffer_head) from [<80100d2c>] (try_to_free_buffers+0x7c/0xbc) 
[<80100d2c>] (try_to_free_buffers) from [<800a9358>] (invalidate_inode_page+0x64/0x7c) 
[<800a9358>] (invalidate_inode_page) from [<800a9454>] (invalidate_mapping_pages+0xe4/0x168) 
[<800a9454>] (invalidate_mapping_pages) from [<80280f68>] (blkdev_ioctl+0x40c/0x910) 
[<80280f68>] (blkdev_ioctl) from [<800e78a0>] (do_vfs_ioctl+0x3dc/0x59c) 
[<800e78a0>] (do_vfs_ioctl) from [<800e7a94>] (SyS_ioctl+0x34/0x5c) 
[<800e7a94>] (SyS_ioctl) from [<8000e460>] (ret_fast_syscall+0x0/0x30) 

但我真的想看到更多的输出去的错误的根源。

非常感谢

+0

正在使用的内核版本是3.14.28 – amarkov

回答

2

我想你已经看到了一切。 SyS_ioctl是来自用户空间调用的输入功能,并且free_buffer_head是其实际崩溃的功能。它不会提供来自用户空间程序的回溯,因为它首先可以是特定于应用程序的,其次它与内核崩溃无关。

+0

然后,我将开始printk'ing/gdb'ing来找出传入的内容以生成崩溃。 – amarkov