Gdb: показать типinfo некоторых данных

В принципе, я хочу получить typeid(*this).name(), то есть реальный тип this.

Я хочу получить это в GDB (без изменения исходного кода). Я пробовал print typeid(*this), но он говорит, что typeid неизвестен (потому что я не включил его там в исходный файл).

Ответы

Ответ 2

Используйте команду ptype, например:

(gdb) ptype 42
type = int

Ответ 3

Этот вопрос может быть связан: vtable в полиморфном классе С++ с использованием gdb:

(gdb) help set print object
Set printing of object derived type based on vtable info. 

Это не точно typeid(), но он должен показывать реальный тип объекта при проверке полиморфного указателя (например, this в базовом классе). Естественно работает только для классов с vtable (т.е. Хотя бы один виртуальный метод), но также typeid.

Ответ 4

Команда ptype [ARG] 'напечатает тип.