大佬教程收集整理的这篇文章主要介绍了如何在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内核开发人员在改进内核时开始采用面向对象的原则,这是用C语言编写的.由于C不是OO语言,事情开始变得非常丑陋和难以理解,更不用说没有一个体面的IDE了分析C代码.我不想开始在调试器下运行Linux.注意:如果你是一个内核开发新手,并希望在调试器下运行Linux,请不要付出努力…它将证明是徒劳的(踩踏没有意义).
以上是大佬教程为你收集整理的如何在Linux内核中打印当前的线程堆栈跟踪?全部内容,希望文章能够帮你解决如何在Linux内核中打印当前的线程堆栈跟踪?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。