如何使用GDB查找引用内存空间中某个地址的所有指针?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用GDB查找引用内存空间中某个地址的所有指针?相关的知识,希望对你有一定的参考价值。

我想在我的程序中找到引用某个地址的所有指针。我怎么能用GDB做到这一点?谢谢。我的程序是用C ++编写的

答案

这是一个“难题”。你可能很难单独使用gdb来做这件事,但是valgrind可能会有所帮助(请参阅http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands,了解valgrind在作为gdbserver运行时可以做什么)。事实上,valgrind有一种跟踪指针以检测内存泄漏的技术......但是如果你的程序用指针做了一些棘手的事情(比如屏蔽它们然后重新创建它们,打包它们,保持它们不对齐等)没有标准的工具将是能够帮助你。

以上是关于如何使用GDB查找引用内存空间中某个地址的所有指针?的主要内容,如果未能解决你的问题,请参考以下文章

Rust语言中级教程之指针

如何 gdb 如何打印一个地址中的内容

在Linux上利用core dump和GDB调试

数据结构与算法基础之概述指针与内存

结构体指针

引用和指针的区别