diff --git a/lldb/source/Commands/CommandObjectMemory.cpp b/lldb/source/Commands/CommandObjectMemory.cpp index 87dc3378520d..98b1df53b57a 100644 --- a/lldb/source/Commands/CommandObjectMemory.cpp +++ b/lldb/source/Commands/CommandObjectMemory.cpp @@ -298,7 +298,7 @@ public: "memory read", "Read from the memory of the process being debugged.", NULL, - eFlagProcessMustBeLaunched), + eFlagProcessMustBePaused), m_option_group (interpreter), m_format_options (eFormatBytesWithASCII, 0, true), m_memory_options (), @@ -351,9 +351,9 @@ public: CommandReturnObject &result) { ExecutionContext exe_ctx (m_interpreter.GetExecutionContext()); - if (exe_ctx.process == NULL) + if (exe_ctx.target == NULL) { - result.AppendError("need a process to read memory"); + result.AppendError("need at least a target to read memory"); result.SetStatus(eReturnStatusFailed); return false; } @@ -561,7 +561,8 @@ public: if (!clang_ast_type.GetOpaqueQualType()) { data_sp.reset (new DataBufferHeap (total_byte_size, '\0')); - bytes_read = exe_ctx.process->ReadMemory(addr, data_sp->GetBytes (), data_sp->GetByteSize(), error); + Address address(NULL, addr); + bytes_read = exe_ctx.target->ReadMemory(address, false, data_sp->GetBytes (), data_sp->GetByteSize(), error); if (bytes_read == 0) { result.AppendWarningWithFormat("Read from 0x%llx failed.\n", addr); diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp index 4449007db6f0..b54b4e15a5ed 100644 --- a/lldb/source/Interpreter/CommandObject.cpp +++ b/lldb/source/Interpreter/CommandObject.cpp @@ -229,9 +229,13 @@ CommandObject::ExecuteWithOptions (Args& args, CommandReturnObject &result) Process *process = m_interpreter.GetExecutionContext().process; if (process == NULL) { - result.AppendError ("Process must exist."); - result.SetStatus (eReturnStatusFailed); - return false; + // A process that is not running is considered paused. + if (GetFlags().Test(CommandObject::eFlagProcessMustBeLaunched)) + { + result.AppendError ("Process must exist."); + result.SetStatus (eReturnStatusFailed); + return false; + } } else { diff --git a/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp b/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp index f55926f72e2b..f310e4748ed7 100644 --- a/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp +++ b/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp @@ -39,7 +39,6 @@ ThreadPlanStepOverBreakpoint::ThreadPlanStepOverBreakpoint (Thread &thread) : { m_breakpoint_addr = m_thread.GetRegisterContext()->GetPC(); m_breakpoint_site_id = m_thread.GetProcess().GetBreakpointSiteList().FindIDByAddress (m_breakpoint_addr); - } ThreadPlanStepOverBreakpoint::~ThreadPlanStepOverBreakpoint ()