在gdb中获取指针的地址

时间:2014-08-08 18:24:56

标签: c gdb

我正在调试一个seg faulting的程序。我想知道指针所属的内存空间(堆,堆栈等)。有没有办法在gdb中确定这个?

1 个答案:

答案 0 :(得分:5)

  

哪个内存空间(堆,堆栈等)

请注意,在任何现代多线程系统中,都有多个堆栈区域(每个线程一个或多个),并且通常还有许多堆区域(例如glibc malloc将使用sbrk mmap从操作系统获取内存页面。这些页面将形成不相交的集合。)

  

有没有办法在gdb中确定这个

一般来说,没有。在Linux上,您可以检查/proc/<pid>/maps并找到与指针重叠的区域。 GDB没有任何特殊命令可以帮助您。