GDB_print_derived_type
GDB print derived type
当我们在使用GDB调试时, print
默认打印多态指针或多态引用的声明类型,如果我们需要查看其实际的派生类类型,方法是:
- 首先在GDB命令行输入命令:
set print object on
- 然后再
print
相关的多态指针或多态引用。
当多态指针是智能指针时,因为智能指针是一个对原始指针包装的类,那么查看其实际的派生类类型的方法是:
-
首先在GDB命令行输入命令:
set print object on
-
有两种方法:
- 方法1:对智能指针调用其get成员函数获取其管理的原始指针,然后再
print
。举例截图如下:
- 方法1:对智能指针调用其get成员函数获取其管理的原始指针,然后再
- 方法2:对智能指针进行解引用,然后再
print
。举例截图如下: