Я отлаживаю аварийный дамп со следующим callstack:
mfc110u.dll!ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>(void)
Application.exe!CInternal_Class::Do_Something(unsigned int uiId=10304276, int iValidObject=0, const ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & strThing={...}, const CStringArray & saWhatever={...}, const CPtrArray & psaOtherthings={...}) Line 6932
Как вы видите, что-то идет не так при запуске деструктора CSimpleStringT
(или CStringT
, яЯ знаю о typedef
).
В исходном коде Application.exe!CInternal_Class:Do_Something()
я нахожусь в этой строке:
return hr; // at this stage, all local variables get destroyed.
В моей функции есть довольно многовнутренние CStringT
переменные, и я хотел бы знать, какая из них уничтожается в данный момент.
Вы можете подумать: «Это просто, просто перейдите к исходному коду деструктора (дважды щелкните вверхустроки callstack) и добавьте this
в окно наблюдения ".
Однако это дает 'this' may only be used inside a nonstatic member function
.
С другой стороны, окно Locals пустое.
У кого-нибудь есть идея?
Заранее спасибо