我正在调试故障转储,具有以下调用堆栈:
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
变量,我想知道此时哪些变量已被破坏。
您可能会认为“这很容易,只需转到析构函数的源代码(双击调用堆栈的第一行),然后将this
添加到监视窗口中即可。”
但是,这将产生'this' may only be used inside a nonstatic member function
。
另一方面,Locals窗口为空。
有人有主意吗?
预先感谢