问题描述
有没有办法在 Ubuntu 中找到分配给应用程序的堆和堆栈的地址范围? 我希望 Valgrind 或 Valgrind 的插件可以帮助我,但我没有找到。
解决方法
在 Linux 上,您可以检查包含当前映射到进程的区域的 /proc/[pid]/maps
文件。该文件还有专门的部分 [stack]
用于主进程堆栈,[stack:<tid>]
用于线程 tid 堆栈,[heap]
用于进程堆。有关详细信息,请参阅 man 5 proc
。
有没有办法在 Ubuntu 中找到分配给应用程序的堆和堆栈的地址范围? 我希望 Valgrind 或 Valgrind 的插件可以帮助我,但我没有找到。
在 Linux 上,您可以检查包含当前映射到进程的区域的 /proc/[pid]/maps
文件。该文件还有专门的部分 [stack]
用于主进程堆栈,[stack:<tid>]
用于线程 tid 堆栈,[heap]
用于进程堆。有关详细信息,请参阅 man 5 proc
。