Отладка приложений


Таблицы символов, символьные машины и проход стека - часть 9


 if ( TRUE == bRet)

 {

dwMS = lpVerInfo->dwFileVersionMS;

 dwLS = lpVer!nfo->dwFileVersionLS;

 }

delete [] IpData; return ( bRet);

}

 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public-методы инициализации и чистки

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/

public :

BOOL Symlnitialize ( IN HANDLE hProcess ,

 IN LPSTR UserSearchPath, 

IN BOOL flnvadeProcess )

 {

m_hProcess = hProcess;

return ( ::Symlnitialize ( hProcess ,

UserSearchPath, fInvadeProcess ));

 }

#ifdef USE_BUGSLAYERUTIL

BOOL BSUSymlnitialize ( DWORD dwPID ,

HANDLE hProcess ,

 PSTR UserSearchPath,

 BOOL flnvadeProcess ) 

{

m_hProcess = hProcess;

return ( ::BSUSymlnitialize ( dwPID ,

hProcess , UserSearchPath, flnvadeProcess ));

 }

#endif // USE_BUGSLAYERUTIL 

BOOL SymCleanup ( void) 

{

return ( ::SymCleanup ( m_hProcess)) ;

}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - 

Public-методы манипуляций с модулями

- - - - - - - - - - - - - - - - - - - - - - - - - - * /

public :

BOOL SymEnumerateModules ( IN PSYM_ENUMMODULES_CALLBACK

EnumModulesCallback, 

IN PVOID UserContext) 

{

return ( ::SymEnumerateModules ( m_hProcess ,

EnumModulesCallback , 

UserContext )) ; 

}

BOOL SymLoadModule { IN HANDLE hFile , 

IN PSTR ImageName , 

IN PSTR ModuleName , 

IN DWORD BaseOfDll ,

 IN DWORD SizeOfDll ) 

{

return ( ::SymLoadModule ( m_hProcess ,

hFile

ImageName ,

 ModuleName , 

BaseOfDll SizeOfDll )); 

BOOL EnumerateLoadedModules ( IN PENUMLOADED_MODULES_CALLBACK

EnumLoadedModulesCallback,

 IN PVOID UserContext )

{

return ( ::EnumerateLoadedModules ( m_hProcess ,

EnumLoadedModulesCallback, 

UserContext )); 

}

BOOL SymUnloadModule ( IN DWORD BaseOfDll) 

{

return ( ::SymUnloadModule ( m_hProcess, BaseOfDll)); 

BOOL SymGetModulelnfo ( IN DWORD dwAddr




Начало  Назад  Вперед



Книжный магазин