#windbg
#windbg
Вопрос:
У меня есть указатель на некоторую переменную, скажем, 0xffffffff’effffff77 типа struct Foo. Как я могу отобразить это значение с помощью WinDbg?
dt 0xffffffff`ffffff77
Symbol not found at address ffffffffffffff77.
У меня не работает..
Комментарии:
1. Вы можете сделать
dds 0xffffffffffffff77
, но на самом деле вам нужно знать / угадывать тип данных, чтобы выходные данные имели какой-либо смысл: msdn.microsoft.com/en-us/library/windows/hardware /…2. Если у вас есть pdf-файлы, то вы можете сделать
dt Foo 0xffffffffffffff77
илиdt Foo. 0xffffffffffffff77
должны работать, в противном случае вам пришлось бы знать тип, а затем делатьdds
так, как я предложил3. Если вы установили точку останова, и это значение является локальным, то
dv
будут сброшены локальные значения, и если вы загрузили PDF-файлы, то вы можете просто сделатьdt Foo.mVar 0xffffffffffffff77
я думаю, должно сработать4. принято. работает. Спасибо!
5. Должен ли я опубликовать это в качестве ответа?
Ответ №1:
Сообщение об ошибке указывает на то, что не удается найти символы, поэтому правильно задайте путь к символу с помощью графического интерфейса или .sympath mySymbols
, а затем перезагрузите .reload
Теперь вы должны быть в состоянии сделать это:
dt Foo 0xffffffff`ffffff77
или
dt Foo. 0xffffffff`ffffff77
должно сработать, иначе вам пришлось бы знать тип, а затем делать dds
, как я предложил
другая стратегия заключается в установке точки останова, и при попадании, если это локальная переменная, вы должны иметь возможность сбрасывать ее с помощью dv
, затем она должна распознавать команды типа:
dt Foo.mVar 0xffffffff`ffffff77
Ответ №2:
Адрес Ln — найти ближайший символ, символ Dt — показать переменную’