kiz*_*zx2 7 memory debugging heap gdb
我在GDB中有一个指针,我怎样才能找到它首先在堆上分配的位置?
在WinDBG中,这可以!heap -p -a <0x12345678>在打开后完成gflags /i <*exe> +ust
既然Valgrind可以告诉我内存的分配位置(当它检测到一些泄漏时),我猜这也有可能吗?
(这不是关于观察点.这是我随机闯入In GDB,应用程序,查看指针并想知道"谁创建了这段内存"的情况?)
在GDB中使用反向调试是一种非常新颖的方式,可能是解决此问题的正确方法.我用GDB 7.1遇到了一些问题 - 最新的稳定版本.反向调试是GDB中的一个相当新的功能,所以我需要检查HEAD(7.2)来修复它.
它可能说明了GDB方法的成熟性,但我认为它应该在它更成熟时使用.(很棒的功能!)
也许反向调试会有所帮助.尝试在内存地址上设置观察点并反向继续直到写入内存.
(gdb) watch *0x12345678
(gdb) reverse-continue
Run Code Online (Sandbox Code Playgroud)