mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 20:33:52 +00:00
Build list of symbol source files.
This commit is contained in:
parent
0551cd8e44
commit
a1bad4b7be
@ -52,6 +52,7 @@ void SourceView::OpenSource( const char* fileName, int line )
|
|||||||
m_baseAddr = 0;
|
m_baseAddr = 0;
|
||||||
m_symAddr = 0;
|
m_symAddr = 0;
|
||||||
m_currentAddr = 0;
|
m_currentAddr = 0;
|
||||||
|
m_sourceFiles.clear();
|
||||||
|
|
||||||
ParseSource( fileName, nullptr );
|
ParseSource( fileName, nullptr );
|
||||||
assert( !m_lines.empty() );
|
assert( !m_lines.empty() );
|
||||||
@ -65,6 +66,7 @@ void SourceView::OpenSymbol( const char* fileName, int line, uint64_t baseAddr,
|
|||||||
m_baseAddr = baseAddr;
|
m_baseAddr = baseAddr;
|
||||||
m_symAddr = symAddr;
|
m_symAddr = symAddr;
|
||||||
m_currentAddr = symAddr;
|
m_currentAddr = symAddr;
|
||||||
|
m_sourceFiles.clear();
|
||||||
|
|
||||||
ParseSource( fileName, &worker );
|
ParseSource( fileName, &worker );
|
||||||
Disassemble( baseAddr, worker );
|
Disassemble( baseAddr, worker );
|
||||||
@ -235,6 +237,18 @@ bool SourceView::Disassemble( uint64_t symAddr, const Worker& worker )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_asm.emplace_back( AsmLine { op.address, jumpAddr, op.mnemonic, op.op_str } );
|
m_asm.emplace_back( AsmLine { op.address, jumpAddr, op.mnemonic, op.op_str } );
|
||||||
|
|
||||||
|
uint32_t srcline;
|
||||||
|
const auto srcidx = worker.GetLocationForAddress( op.address, srcline );
|
||||||
|
if( srcline != 0 )
|
||||||
|
{
|
||||||
|
const auto idx = srcidx.Idx();
|
||||||
|
auto sit = m_sourceFiles.find( idx );
|
||||||
|
if( sit == m_sourceFiles.end() )
|
||||||
|
{
|
||||||
|
m_sourceFiles.emplace( idx );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cs_free( insn, cnt );
|
cs_free( insn, cnt );
|
||||||
if( !m_jumpTable.empty() )
|
if( !m_jumpTable.empty() )
|
||||||
|
@ -90,6 +90,8 @@ private:
|
|||||||
unordered_flat_set<uint64_t> m_jumpOut;
|
unordered_flat_set<uint64_t> m_jumpOut;
|
||||||
int m_maxJumpLevel;
|
int m_maxJumpLevel;
|
||||||
bool m_showJumps;
|
bool m_showJumps;
|
||||||
|
|
||||||
|
unordered_flat_set<uint32_t> m_sourceFiles;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user