Я больше не могу выводить строки STL с помощью WinDbg - раньше я мог выводить строки STL с помощью команды: dt -r (MSVCP90!string) address
или для широких строк dt -r (MSVCP90!wstring) address
. К сожалению, я больше не могу этого делать - у меня есть путь к символам, и когда я перечисляю модули, это показывает, что символы загружаются для MSVCP90:
74110000 7419e000 MSVCP90 (pdb symbols) x:\symbols\msvcp90.i386.pdb\A23D796E66BB430B891568A6EF0C750C1\msvcp90.i386.pdb
Когда я выполняю команду, я получаю следующий вывод:
0:025> dt -r (MSVCP90!string)
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: MSVCP90!string ***
*** ***
*************************************************************************
Symbol MSVCP90!string not found.
Мой путь к символу установлен так:
0:025> .sympath
Symbol search path is: srv*X:\Symbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*x:\symbols*http://msdl.microsoft.com/download/symbols
Я нашел расширение SDbgExt, но из того, что я прочитал, оно было для версии 7.0 среды выполнения - это 9.0.
Кто-нибудь имеет представление о том, почему эта функция перестала работать? Я действительно не могу жить без этого!
Спасибо!
РЕДАКТИРОВАТЬ: Для хорошей меры я также попытался включить режим шумных символов. Я получил этот вывод:
0:025> .reload /f MSVCP90.dll
DBGHELP: MSVCP90 - public symbols
x:\symbols\msvcp90.i386.pdb\A23D796E66BB430B891568A6EF0C750C1\msvcp90.i386.pdb
Так что, похоже, мои символы в порядке.