我正在调试一个seg faulting的程序。我想知道指针所属的内存空间(堆,堆栈等)。有没有办法在gdb中确定这个?
答案 0 :(得分:5)
哪个内存空间(堆,堆栈等)
请注意,在任何现代多线程系统中,都有多个堆栈区域(每个线程一个或多个),并且通常还有许多堆区域(例如glibc malloc将使用sbrk
和 mmap
从操作系统获取内存页面。这些页面将形成不相交的集合。)
有没有办法在gdb中确定这个
一般来说,没有。在Linux上,您可以检查/proc/<pid>/maps
并找到与指针重叠的区域。 GDB没有任何特殊命令可以帮助您。