91 const string& name,
const string& linkname,
94 : m_seg(seg), m_name(name), m_linkname(linkname), m_type(t), m_begVMA(begVMA),
95 m_endVMA(endVMA), m_size(size), m_filenm(
""), m_begLine(0), m_parent(
NULL)
125 std::ostringstream os;
138 string proc, file, b_proc, b_file, e_proc, e_file;
145 proc, file, begLn, endLn);
154 os << p <<
"---------- Procedure Dump ----------\n";
155 os << p <<
" Name: `" << nm <<
"'\n";
156 os << p <<
" LinkName: `" << ln_nm <<
"'\n";
158 os << p <<
" LnMap: {" << file <<
"}[" 160 os << p <<
" LnMap(b): {" << b_file <<
"}[" 162 os << p <<
" LnMap(e): {" << e_file <<
"}[" 165 os << p <<
" ID, Type: " <<
id() <<
", `";
167 case Local: os <<
"Local'\n";
break;
168 case Weak: os <<
"Weak'\n";
break;
169 case Global: os <<
"Global'\n";
break;
170 case Quasi: os <<
"Quasi'\n";
break;
171 default: os <<
"-unknown-'\n";
175 << p <<
" VMA: [" << hex <<
begVMA() <<
", " <<
endVMA() << dec <<
"]\n";
176 os << p <<
" Size(b): " <<
size() <<
"\n";
180 os << p1 <<
"----- Instruction Dump -----\n";
182 Insn* insn = it.current();
184 if (flags & LM::DUMP_Flg_Insn_decode) {
185 os << p2 << hex << insn->
vma() << dec <<
": ";
189 if (flags & LM::DUMP_Flg_Insn_ty) {
190 insn->
dump(os, flags, p2.c_str());
207 os <<
"!{" << file1 <<
"}";
209 os <<
":" << line <<
":";
210 if (proc1 == nm || proc1 == ln_nm) {
214 os <<
"![" << proc1 <<
"]";
235 : p(_p),
lm(*(p.
lm()))
const std::string & linkName() const
static unsigned int nextId
string canonicalizeProcName(const std::string &name, ProcNameMgr *procNameMgr)
Insn * findInsn(VMA vma, ushort opIndex) const
const std::string & name() const
virtual ushort numOps() const =0
virtual void dump(std::ostream &o=std::cerr, int flags=LM::DUMP_Short, const char *pre="") const
SrcFile::ln begLine() const
virtual ushort opIndex() const =0
virtual void decode(std::ostream &os)
unsigned short int ushort
virtual void dump(std::ostream &o=std::cerr, int flags=LM::DUMP_Short, const char *pre="") const
std::string toString(int flags=LM::DUMP_Short) const
LM::InsnMap::const_iterator endIt
bool findSrcCodeInfo(VMA vma, ushort opIndex, std::string &func, std::string &file, SrcFile::ln &line) const
LM::InsnMap::const_iterator it
const std::string & filename() const