クラッシュ ダンプがある場所をデバッグする場合、vtable ポインターはメモリ内のオブジェクトの適切なインジケーターです。
私がgdbでやりたいことは、次のようなことでvtableをクエリできるようにすることです
info address 'vtable for Bar'
ただし、(オブジェクトの有効なインスタンスを必要とせずに) これを行う唯一の方法は、vtable にマングルされた名前を使用することです。
例:
info address _ZTV3Bar
vtable のマングルされた名前を見つけようとするのは世界の終わりではありませんが、面倒です (つまり、objdump -t myexecutable を使用します)。
タイプの有効なインスタンスを必要とせずに、タイプのvtableアドレスを簡単に見つける方法を知っている人はいますか?
- ルール: 問題のオブジェクトの有効なインスタンスを要求して、オブジェクト内で vtable ポインターを見つけることはできません。