У меня есть auto_ptr<IFoo>
, где IFoo
- это интерфейс с чисто виртуальными методами.
Теперь у меня также есть файл ядра после ошибки сегментации, где я действительно хотел бы знать, какой конкретный подкласс стоял за этим auto_ptr. Поскольку dynamic_cast
работает в проекте, я думаю, что RTTI каким-то образом должен быть доступен, но я не знаю, как мне получить доступ к этой информации через gdb
?
Я получаю следующий результат:
(gdb) print this->obj._M_ptr
$22 = (class martin::IFoo *) 0x7418
Что я действительно хотел бы знать, принадлежит ли указатель IBar
или IBaz
.
Спасибо за любую помощь!
print typeid(*this->obj._M_ptr)
работает? - person R. Martinho Fernandes   schedule 17.10.2012