gpt4 book ai didi

linux - 如何在Linux中打印使用pid和不使用pid的进程的内核堆栈的下限和上限地址

转载 作者:太空宇宙 更新时间:2023-11-04 03:38:13 25 4
gpt4 key购买 nike

如何打印Linux中每个进程进程的内核堆栈的低地址和高地址

  1. 使用 pid 和
  2. 不使用 pid

最佳答案

您可能想了解current_stack_pointer()代码。 (对于稍旧的内核,现在堆栈大小已增加到 16K)

内核堆栈从页面顶部开始并向下增加,x86 上的 %esp(或 x86_64 上的 %rsp)指向堆栈底部。您还可以按如下方式导出当前宏

current macro == current_thread_info(%esp)->task
current->pid == (current_thread_info(%esp)->task)->pid

正如您所知的堆栈底部,您需要添加/减去页面数才能获得内核堆栈的顶部(使用 %esp 或 %rsp 取决于您的体系结构)。

关于linux - 如何在Linux中打印使用pid和不使用pid的进程的内核堆栈的下限和上限地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30833662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com