MFC / ATL析构函数失败,如何获取更多信息?

时间:2019-06-05 09:25:01

标签: c++ visual-studio debugging visual-studio-2017 dump

我正在调试故障转储,具有以下调用堆栈:

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窗口为空。

有人有主意吗?
预先感谢

0 个答案:

没有答案