lldb: propagate error to user if memory read fails
Previously, an attempt to read an unreadable access reported zeros: (lldb) memory read -format hex -size 8 0 0x00000000: 0x0000000000000000 0x0000000000000000 0x00000010: 0x0000000000000000 0x0000000000000000 ... Now, if DoReadMemory encounters error then return 0 (bytes read) so we report the error to the user: (lldb) memory read -format hex -size 8 0 error: Bad address LLVM PR: 37190 MFC after: 1 week Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
daddfa7cc7
commit
69dcf941a4
@ -163,8 +163,10 @@ static size_t DoReadMemory(lldb::pid_t pid, lldb::addr_t vm_addr, void *buf,
|
||||
pi_desc.piod_addr = buf;
|
||||
pi_desc.piod_len = size;
|
||||
|
||||
if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0)
|
||||
if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) {
|
||||
error.SetErrorToErrno();
|
||||
return 0;
|
||||
}
|
||||
return pi_desc.piod_len;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user