【发布时间】:2011-03-09 14:15:55
【问题描述】:
我的断点指向一个变量。 (指向某处。我能确定某处属于堆还是栈?)
有没有办法找到堆栈的开始和结束位置?有没有办法找到堆的开始和结束在哪里?
【问题讨论】:
我的断点指向一个变量。 (指向某处。我能确定某处属于堆还是栈?)
有没有办法找到堆栈的开始和结束位置?有没有办法找到堆的开始和结束在哪里?
【问题讨论】:
使用info proc mappings 获取有关您的内存布局的/proc 信息。
【讨论】:
maintenance info sections 可能会有所帮助。
[stack]。
我认为 gdb 不会直接告诉你,但你可以比较地址以确定它属于哪个范围。您必须查看库源代码才能找到它们,但堆管理器通常会有一些内部变量来跟踪堆的位置。
【讨论】:
根据您的编译器,调试信息中可能有__stack 或__stack_end 之类的符号。如果是这样,您可以使用这些符号将您的指针与它们进行比较。
【讨论】: