В Windbg у меня есть скрипт, который перебирает фреймы стека и хорошо справляется со сбором интересующих вещей, отображая их в командном окне (он просто выявляет вещи, которые могут потребовать дальнейшего изучения).
В определенных кадрах будет this
, который меня интересует некоторыми деталями.Конечно, я могу извлечь подробности, но я бы тоже хотел получить фактический тип класса.Я знаю, что если я тогда сделаю dv /t
, я увижу что-то вроде следующего:
0:115> .frame 14
0:115> dv /t
class foo1 * this = 0x00000000e9ed0010
Я бы хотел, чтобы можно было просто передать foo1
команде .printf
.
В кадрах, которые имеют больше, чем просто this
, я могу ограничить вывод с помощью шаблона dv /t this
, очевидно, но есть хороший способ иметь что-то вроде того, что следует в кадре, и я могу извлечьпросто foo1
?
0:115> .frame 17
0:115> dv /t
class foo1 * this = 0x00000000f3e2f568
class foo2 * bar2 = 0x0000000000000001
bool _somebool = true
Выполнение того, что следует, очень близко к ограниченному выводу, который я хотел бы ... но я просто хочу улучшить его.
0:115> .frame 17
0:115> dv /t this
class foo1 * this = 0x00000000f3e2f568
Следующийпример кода от blabb:
0:000> dv /t
class Time * this = 0x001efb24
int h = 0n23
int m = 0n59
int s = 0n59
0:000> dv /t this
class Time * this = 0x001efb24
0:000> some command
Time
Третья команда - это то, что я ищу.