Disassembler::DisassembleRange() currently calls Target::ReadMemory
with prefer_file_cache == false. This is what we want to do when the user is doing a disassemble command -- show the actual memory contents in case the memory has been corrupted or something -- but when we're profiling functions for stepping or unwinding (ThreadPlanStepRange::GetInstructionsForAddress, UnwindAssemblyInstEmulation::GetNonCallSiteUnwindP) we can read __TEXT instructions directly out of the file, if it exists. <rdar://problem/14397491> llvm-svn: 190638
This commit is contained in:
@@ -143,11 +143,13 @@ SBFunction::GetInstructions (SBTarget target, const char *flavor)
|
||||
ModuleSP module_sp (m_opaque_ptr->GetAddressRange().GetBaseAddress().GetModule());
|
||||
if (module_sp)
|
||||
{
|
||||
const bool prefer_file_cache = false;
|
||||
sb_instructions.SetDisassembler (Disassembler::DisassembleRange (module_sp->GetArchitecture(),
|
||||
NULL,
|
||||
flavor,
|
||||
exe_ctx,
|
||||
m_opaque_ptr->GetAddressRange()));
|
||||
m_opaque_ptr->GetAddressRange(),
|
||||
prefer_file_cache));
|
||||
}
|
||||
}
|
||||
return sb_instructions;
|
||||
|
||||
Reference in New Issue
Block a user