Definition at line 152 of file pfm_gen_analysis.cpp.
◆ Offset
◆ SymbolCache
◆ FileInfo() [1/2]
FileInfo::FileInfo |
( |
void |
| ) |
|
|
inline |
◆ FileInfo() [2/2]
FileInfo::FileInfo |
( |
const std::string & |
name, |
|
|
bool |
useGdb |
|
) |
| |
|
inline |
◆ createOffsetMap()
void FileInfo::createOffsetMap |
( |
void |
| ) |
|
|
inlineprivate |
Definition at line 195 of file pfm_gen_analysis.cpp.
201 bool matched =
false;
202 while ( objdump.output() ) {
212 if ( !objdump.output() )
break;
213 if (
line.empty() )
continue;
214 const char* lineptr =
line.c_str();
216 if ( !
skipString(
"LOAD", lineptr, &lineptr ) )
continue;
218 if ( !
skipString(
"off", lineptr, &lineptr ) )
continue;
220 int initialBase =
strtol( lineptr, &endptr, 16 );
221 if ( lineptr == endptr )
continue;
224 if ( !
skipString(
"vaddr", lineptr, &lineptr ) )
continue;
226 int finalBase =
strtol( lineptr, &endptr, 16 );
227 if ( lineptr == endptr )
continue;
228 vmbase = finalBase - initialBase;
239 while (
nm.output() ) {
242 if ( !
nm.output() )
break;
243 if (
line.empty() )
continue;
248 if ( endptr ==
begin )
continue;
249 if ( *endptr++ !=
' ' )
continue;
250 if (
isspace( *endptr++ ) )
continue;
251 if ( *endptr++ !=
' ' )
continue;
252 char* symbolName = endptr;
253 while ( *endptr && !
isspace( *endptr ) ) endptr++;
254 if ( *endptr != 0 )
continue;
256 if ( symbolName[0] ==
'.' )
continue;
261 int offset = address - vmbase;
◆ next()
◆ symbolByOffset()
const char* FileInfo::symbolByOffset |
( |
Offset |
offset | ) |
|
|
inline |
Definition at line 161 of file pfm_gen_analysis.cpp.
165 if ( i->OFFSET == offset ) {
return i->NAME.c_str(); }
171 return i->NAME.c_str();
◆ m_symbolCache
◆ NAME
The documentation for this class was generated from the following file: