Linux 如何在内核空间中转储用户空间堆栈?

Linux 如何在内核空间中转储用户空间堆栈?,linux,linux-kernel,Linux,Linux Kernel,我已经使用了dump_stack()函数。但是这个函数不是我想要的 我想知道如何在内核空间中转储用户空间堆栈 此外,转储结果必须输出到内核日志中 谢谢 p、 感谢您理解我的问题,因为我不太懂英语语法。您想知道每个cpu内核上运行的是什么,如果是用户空间,则将其转储到dmesg?如果很短,则没有可以解决此任务的工具。但如果你能提供更多的背景资料,也许我能帮你。我的意思是描述什么是条件,当你想转储用户空间堆栈为什么你想转储内核空间中的用户空间堆栈?但是,您可以启用一个配置符号,假设它未被启用,称为c

我已经使用了dump_stack()函数。但是这个函数不是我想要的

我想知道如何在内核空间中转储用户空间堆栈

此外,转储结果必须输出到内核日志中

谢谢


p、 感谢您理解我的问题,因为我不太懂英语语法。

您想知道每个cpu内核上运行的是什么,如果是用户空间,则将其转储到dmesg?如果很短,则没有可以解决此任务的工具。但如果你能提供更多的背景资料,也许我能帮你。我的意思是描述什么是条件,当你想转储用户空间堆栈为什么你想转储内核空间中的用户空间堆栈?但是,您可以启用一个配置符号,假设它未被启用,称为config_DEBUG_USER,并传递内核参数USER_DEBUG=31,这将在用户空间应用程序崩溃时启用各种消息。@Sanchayan有时,了解如何从用户空间到达内核代码中的点很有用。想象一下你在跟踪记忆allocations@AlexHoppus我想转储一些被调用的系统调用。转储结果表示堆栈帧,而不是内存数据。