OUT PDWORD pdwDisplacement, OUT PIMAGEHLP_LINE
OUT PIMAGEHLP__MODULE Modulelnfo )
{
return ( ::SymGetModulelnfo ( m_hProcess ,
dwAddr ,
Modulelnfo ));
}
DWORD SymGetModuleBase ( IN DWORD dwAddr)
{
return ( ::SymGetModuleBase ( m_hProcess, dwAddr));
}
/*- - - - - - - - - - - - - - - - - - - - - - - - - -
Public-методы манипуляций с символами
- - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
public :
BOOL SymEnumerateSymbols ( IN DWORD BaseOfDll,
IN PSYM_ENUMSYMBOLS_CALLBACK
EnumSymbolsCallback,
IN PVOID UserContext)
{
return ( ::SymEnumerateSymbols ( m_hProcess ,
BaseOfDll
EnumSymbolsCallback,
UserContext ));
}
BOOL SymGetSymFromAddr ( IN DWORD dwAddr ,
OUT PDWORD pdwDisplacement,
OUT PIMAGEHLP_SYMBOL Symbol )
{
return ( ::SymGetSymFromAddr ( m_hProcess ,
dwAddr ,
pdwDisplacement ,
Symbol ));
}
BOOL SymGetSymFromName ( IN LPSTR Name ,
OUT PIMAGEHLP_SYMBOL Symbol )
{
return ( ::SymGetSymFromName ( m_hProcess,
Name ,
Symbol }};
}
BOOL SymGetSymNext ( IN OUT PIMAGEHLP_SYMBOL Symbol)
{
return ( ::SymGetSymNext ( m_hProcess, Symbol));
}
BOOL SymGetSymPrev ( IN OUT PIMAGEHLP_SYMBOL Symbol)
{
return ( ::SymGetSymPrev ( m_hProcess, Symbol));
}
/*- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Public-метод манипуляций с исходной строкой
- - - -- - - - - - - - - - - - - - - - - - - - - - - - - */
public :
BOOL SymGetLineFromAddr ( IN DWORD dwAddr ,
OUT PDWORD pdwDisplacement, OUT PIMAGEHLP_LINE Line )
{
# ifde f DO_NOT_WORK_AROUND_SRCLINE_BUG
// Просто передайте значения, возвращенные main-функцией
return ( ::SymGetLineFromAddr ( m_hProcess ,
dwAddr
, pdwDisplacement,
Line ) ) ;
#else
// Проблема в том, что символьная машина находит только те адреса
// исходных строк (после первого поиска), которые попадают точно
//на нулевые смещения. Чтобы найти строку и возвратить
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий