I am using Dbgelp in MFC based application. Everything works fine 64bit Debug version. In 64 bit Release it works fine when the Optimization Settings in Project is Disabled. But if Optimization settings is ON then it crashed again. I mentioned in below code where the error happens. Can anyone help me out?
auto CALLBACK EnumSymbolsCallback( SYMBOL_INFO* pptSymbolInfo, ULONG piSymbolSize, void* ppvUserContext ) -> BOOL
{
const T_EnumSymbols* lpkSymbols{ static_cast<const T_EnumSymbols*>( ppvUserContext ) };
std::vector<std::string>* lpkParameters{ lpkSymbols->m_pkParameters };
const STACKFRAME64* lptStackFrame{ lpkSymbols->m_ptStackFrame };
if( pptSymbolInfo != nullptr &&
lpkParameters != nullptr )
{
if( pptSymbolInfo->Flags & SYMFLAG_PARAMETER )
{
if( pptSymbolInfo->Tag == ::SymTagData )
{
// ISSUE HERE
void* lpvValueAddress{ ( void* )( lptStackFrame->AddrStack.Offset + pptSymbolInfo->Address ) };
}
}
}
}