C++ 如何将地址转换为GDB中的特定类型变量?

C++ 如何将地址转换为GDB中的特定类型变量?,c++,linux,debugging,gcc,gdb,C++,Linux,Debugging,Gcc,Gdb,我在日志文件中得到了一个地址,比如0x7fc9e401a02a,我知道这个地址是连接类型的指针 然后我启动GDB,我想知道的是:如何将这个地址转换成Connection*类型的临时变量,并显示Connection*的相关信息 怎么做,有什么提示吗?因为我的连接类有一个名称空间,所以我应该做如下操作: print * ('MyNameSpace::Connection' *) 0x7fc9e401a02a 感谢JaredC和dbrank0的回答。试试这个:打印*(连接*)0x7fc9e401a0

我在日志文件中得到了一个地址,比如0x7fc9e401a02a,我知道这个地址是连接类型的指针

然后我启动GDB,我想知道的是:如何将这个地址转换成Connection*类型的临时变量,并显示Connection*的相关信息


怎么做,有什么提示吗?

因为我的连接类有一个名称空间,所以我应该做如下操作:

print * ('MyNameSpace::Connection' *) 0x7fc9e401a02a

感谢JaredC和dbrank0的回答。

试试这个:
打印*(连接*)0x7fc9e401a02a
。这假设您的地址来自您在gdb中查看的核心文件。如果该地址来自您的代码运行,那么如果不在gdb中重新运行代码,它肯定不存在。如果对象仍然存在于堆栈/堆上,并且程序仍在运行,只需将(附加PID)附加到进程,您就应该能够执行JaredC编写的操作。