如何在Linux内核中打印当前的线程堆栈跟踪?
发布时间:2020-12-13 19:29:07 所属栏目:Linux 来源:网络整理
导读:我希望能够在 Linux内核中打印线程的堆栈跟踪. 详细信息:我想将代码添加到特定函数(例如swap_writepage()),这些函数将打印调用此函数的线程的完整堆栈跟踪.像这样的东西: int swap_writepage(struct page *page,struct writeback_control *wbc){ /* code g
我希望能够在
Linux内核中打印线程的堆栈跟踪.
详细信息:我想将代码添加到特定函数(例如swap_writepage()),这些函数将打印调用此函数的线程的完整堆栈跟踪.像这样的东西: int swap_writepage(struct page *page,struct writeback_control *wbc) { /* code goes here to print stack trace */ int ret = 0; if (try_to_free_swap(page)) { unlock_page(page); goto out; } if (frontswap_store(page) == 0) { set_page_writeback(page); unlock_page(page); end_page_writeback(page); goto out; } ret = __swap_writepage(page,wbc,end_swap_bio_write); out: return ret; } 我的故事: 解决方法
Linux内核有一个众所周知的函数叫做dump_stack()
here,它打印堆栈的内容.根据堆栈信息将其放入您的函数中.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |