我想在内核模块中生成用户堆栈跟踪。 实际上,我制作了一个内核模块,通过挂接系统调用表来拦截关闭系统调用。 我想知道是谁在用户模式下调用此系统调用的特定fd。在我的内核模块中,比较跟踪fd和给定的参数,如果匹配,则想做一个用户空间调用堆栈。我试图通过dump_stack()或WARN宏进行回溯,但它生成了kerenl堆栈跟踪。 可以在kerenl模块中获取用户堆栈跟踪吗?如何在内核模块中生成用户堆栈跟踪
0
A
回答
0
如果您不介意用户程序终止,您可以中止它。 G。与force_sig(SIGABRT, current)
并用调试器分析核心转储。
0
可以使用save_stack_trace_user()
功能与你的内核模块实现的是:
void save_stack_trace_user(struct stack_trace *trace);
你可以看看ftrace是怎么做的内核:ftrace_trace_userstack
相关问题
- 1. 如何在自己的内核模块中生成堆栈跟踪
- 2. 堆栈跟踪如何生成?
- 3. 堆栈跟踪如何构建以及堆栈如何跟踪?
- 4. tcmalloc不生成堆栈跟踪
- 5. 我们如何在TOMCAT中生成堆栈跟踪?
- 6. 如何在调试中生成堆栈跟踪(仅文本)?
- 7. 如何在Linux内核空间打印用户空间堆栈跟踪
- 8. 如何堆栈跟踪extlib?
- 9. 如何充分利用堆栈跟踪(从内核或核心转储)?
- 10. 从javascript堆栈跟踪中查找Java实际堆栈跟踪
- 11. 内核堆栈与用户模式应用程序堆栈
- 12. 转储内核模块堆栈
- 13. 堆栈跟踪3
- 14. 在执行特定命令时执行内核堆栈跟踪
- 15. 在gdb中退出时生成堆栈跟踪
- 16. 如何在Linux内核中打印当前线程堆栈跟踪?
- 17. 禁用PHP堆栈跟踪
- 18. eclipse中的堆栈跟踪
- 19. VB6中的堆栈跟踪
- 20. CryptographicException在堆栈跟踪
- 21. 启用用户模式堆栈跟踪时,为什么不能获得完整堆栈跟踪?
- 22. 如何获得正确的堆栈跟踪而不是反射堆栈跟踪?
- 23. 如何在MULE中将堆栈跟踪返回给客户端?
- 24. PostSharp异常堆栈跟踪未完成
- 25. JUnit Eclipse - 成功显示堆栈跟踪
- 26. Web服务客户端堆栈跟踪
- 27. 如何添加堆栈跟踪到核心转储
- 28. 如何解释我的堆栈跟踪?
- 29. 如何读取clojure堆栈跟踪?
- 30. 如何获取堆栈跟踪信息?