я возвращаюсь назад на 100
// подходящее смещение, я возвращаюсь назад на 100 байт.
DWORD dwTempDis = 0;
while ( FALSE == ::SymGetLineFromAddr ( m_hProcess ,
dwAddr — dwTempDis ,
pdwDisplacement ,
Line ) )
}
dwTempDis += 1;
if ( 100 == dwTempDis)
{
return ( FALSE);
}
}
if (0 != dwTempDis)
{
*pdwDisplacement = dwTempDis;
}
return { TRUE);
#endif // DO_NOT_WORK_AROUND_SRCLINE_BUG
}
BOOL SymGetLineFromName ( IN LPSTR ModuleName ,
IN LPSTR FileName ,
IN DWORD dwLineNumber ,
OUT PLONG plDisplacement ,
IN OUT PIMAGEHLP_LINE Line )
{
return ( ::SymGetLineFromName ( m_hProcess ,
ModuleName ,
FileName ,
dwLineNumber ,
plDisplacement ,
Line ) ) ;
}
BOOL SymGetLineNext ( IN OUT PIMAGEHLP_LINE Line)
{
return ( ::SymGetLineNext ( m_hProcess, Line));
}
BOOL SymGetLinePrev ( IN OUT PIMAGEHLP_LINE Line)
{
return ( ::SymGetLinePrev ( m_hProcess, Line));
}
BOOL SymMatchFileName ( IN LPSTR FileName ,
IN LPSTR Match ,
OUT LPSTR * FileNameStop ,
OUT LPSTR * MatchStop )
{
return ( ::SymMatchFileName ( FileName ,
Match ,
FileNameStop ,
MatchStop ));
}
/*- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - -
Разные public-члены
- - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - -*/
public :
LPVOID SymFunctionTableAccess ( DWORD AddrBase)
{
return ( ::SymFunctionTableAccess ( m_hProcess, AddrBase));
}
BOOL SymGetSearchPath ( OUT LPSTR SearchPath ,
IN DWORD SearchPathLength )
{
return ( ::SymGetSearchPath ( m_hProcess ,
SearchPath ,
SearchPathLength ));
}
BOOL SymSetSearchPath ( IN LPSTR SearchPath)
{
return ( ::SymSetSearchPath ( m_hProcess, SearchPath));
}
BOOL SymRegisterCallback ( IN PSYMBOL_REGISTERED_CALLBACK
CallbackFunction,
IN PVOID UserContext )
{
return ( ::SymRegisterCallback ( m_hProcess ,
Содержание Назад Вперед