#include <LibSymbolInfo.h>
Definition at line 44 of file LibSymbolInfo.h.
◆ CLibSymbolInfo() [1/2]
CLibSymbolInfo::CLibSymbolInfo |
( |
| ) |
|
◆ ~CLibSymbolInfo() [1/2]
CLibSymbolInfo::~CLibSymbolInfo |
( |
| ) |
|
|
virtual |
◆ CLibSymbolInfo() [2/2]
CLibSymbolInfo::CLibSymbolInfo |
( |
| ) |
|
◆ ~CLibSymbolInfo() [2/2]
virtual CLibSymbolInfo::~CLibSymbolInfo |
( |
| ) |
|
|
virtual |
◆ ConvertBigEndian() [1/2]
DWORD CLibSymbolInfo::ConvertBigEndian |
( |
DWORD |
bigEndian | ) |
|
|
protected |
Definition at line 183 of file LibSymbolInfo.cpp.
187 temp |= bigEndian >> 24;
188 temp |= ((bigEndian & 0x00FF0000) >> 8);
189 temp |= ((bigEndian & 0x0000FF00) << 8);
190 temp |= ((bigEndian & 0x000000FF) << 24);
◆ ConvertBigEndian() [2/2]
DWORD CLibSymbolInfo::ConvertBigEndian |
( |
DWORD |
bigEndian | ) |
|
|
protected |
◆ Dump() [1/2]
BOOL CLibSymbolInfo::Dump |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
|
protected |
Definition at line 67 of file LibSymbolInfo.cpp.
73 if(
FALSE == libFile.IsValid() ) {
81 PSTR pArchiveStartString = (PSTR)libFile.GetBase();
83 if ( 0 != strncmp( pArchiveStartString, IMAGE_ARCHIVE_START,
84 IMAGE_ARCHIVE_START_SIZE ) ) {
91 PIMAGE_ARCHIVE_MEMBER_HEADER pMbrHdr;
92 pMbrHdr =
MakePtr( PIMAGE_ARCHIVE_MEMBER_HEADER, pArchiveStartString,
93 IMAGE_ARCHIVE_START_SIZE );
96 PDWORD pcbSymbols = (PDWORD)(pMbrHdr + 1);
104 PDWORD pMemberOffsets = pcbSymbols + 1;
108 PSTR pszSymbolName =
MakePtr( PSTR, pMemberOffsets, 4 * cSymbols );
113 for (
unsigned i = 0; i < cSymbols; i++ )
125 string symbol(pszSymbolName);
134 pszSymbolName += strlen(pszSymbolName) + 1;
#define MakePtr(cast, ptr, addValue)
std::string m_strErrorMsg
BOOL IsFiltedSymbol(std::string &pszSymbolName)
DWORD ConvertBigEndian(DWORD bigEndian)
BOOL IsRegularLibSymbol(PSTR pszSymbolName)
◆ Dump() [2/2]
BOOL CLibSymbolInfo::Dump |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
|
protected |
◆ DumpSymbols() [1/2]
BOOL CLibSymbolInfo::DumpSymbols |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
Definition at line 43 of file LibSymbolInfo.cpp.
45 if(lpszLibPathName == NULL || pFile.bad() ) {
46 assert(lpszLibPathName != NULL);
48 m_strErrorMsg.assign(
"NULL <lpszLibPathName> or Invalid file handle.");
52 if(!
Dump(lpszLibPathName, pFile))
return FALSE;
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
std::string m_strErrorMsg
◆ DumpSymbols() [2/2]
BOOL CLibSymbolInfo::DumpSymbols |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
◆ GetLastError() [1/2]
string CLibSymbolInfo::GetLastError |
( |
| ) |
const |
◆ GetLastError() [2/2]
std::string CLibSymbolInfo::GetLastError |
( |
| ) |
const |
◆ IsFiltedSymbol() [1/2]
BOOL CLibSymbolInfo::IsFiltedSymbol |
( |
std::string & |
pszSymbolName | ) |
|
|
protected |
Definition at line 159 of file LibSymbolInfo.cpp.
162 if ( symbolName.substr(0,3) ==
"_CT" )
return FALSE;
163 if ( symbolName.substr(0,3) ==
"_TI" )
return FALSE;
165 if ( symbolName.substr(0,2) ==
"__" )
167 if ( symbolName.substr(0,3) ==
"??_" && symbolName[3] !=
'0')
169 if( symbolName[0] ==
'_') {
170 symbolName.erase(0, 1);
173 if (symbolName.find (
"detail@boost") != string::npos )
175 if (symbolName.find (
"details@boost") != string::npos )
◆ IsFiltedSymbol() [2/2]
BOOL CLibSymbolInfo::IsFiltedSymbol |
( |
std::string & |
pszSymbolName | ) |
|
|
protected |
◆ IsRegularLibSymbol() [1/2]
BOOL CLibSymbolInfo::IsRegularLibSymbol |
( |
PSTR |
pszSymbolName | ) |
|
|
protected |
Definition at line 143 of file LibSymbolInfo.cpp.
145 if ( 0 == strncmp( pszSymbolName,
"__IMPORT_DESCRIPTOR_", 20 ) )
148 if ( 0 == strncmp( pszSymbolName,
"__NULL_IMPORT_DESCRIPTOR", 24 ) )
151 if ( strstr( pszSymbolName,
"_NULL_THUNK_DATA" ) )
◆ IsRegularLibSymbol() [2/2]
BOOL CLibSymbolInfo::IsRegularLibSymbol |
( |
PSTR |
pszSymbolName | ) |
|
|
protected |
◆ m_strErrorMsg
std::string CLibSymbolInfo::m_strErrorMsg |
|
protected |
◆ m_strResultsString
std::string CLibSymbolInfo::m_strResultsString |
|
protected |
The documentation for this class was generated from the following files: