rust-lldb: fix crash when printing empty string
This commit is contained in:
parent
7f19f161f2
commit
9e5def9616
@ -290,6 +290,8 @@ def print_array_of_values(array_name, data_ptr_val, length, internal_dict):
|
||||
|
||||
|
||||
def read_utf8_string(ptr_val, byte_count):
|
||||
if byte_count == 0:
|
||||
return '""'
|
||||
error = lldb.SBError()
|
||||
process = ptr_val.get_wrapped_value().GetProcess()
|
||||
data = process.ReadMemory(ptr_val.as_integer(), byte_count, error)
|
||||
|
35
src/test/debuginfo/empty-string.rs
Normal file
35
src/test/debuginfo/empty-string.rs
Normal file
@ -0,0 +1,35 @@
|
||||
// ignore-windows failing on win32 bot
|
||||
// ignore-android: FIXME(#10381)
|
||||
// compile-flags:-g
|
||||
// min-gdb-version: 7.7
|
||||
// min-lldb-version: 310
|
||||
|
||||
// === GDB TESTS ===================================================================================
|
||||
|
||||
// gdb-command: run
|
||||
|
||||
// gdb-command: print empty_string
|
||||
// gdb-check:$1 = ""
|
||||
|
||||
// gdb-command: print empty_str
|
||||
// gdb-check:$2 = ""
|
||||
|
||||
// === LLDB TESTS ==================================================================================
|
||||
|
||||
// lldb-command: run
|
||||
|
||||
// lldb-command: fr v empty_string
|
||||
// lldb-check:[...]empty_string = ""
|
||||
|
||||
// lldb-command: fr v empty_str
|
||||
// lldb-check:[...]empty_str = ""
|
||||
|
||||
fn main() {
|
||||
let empty_string = String::new();
|
||||
|
||||
let empty_str = "";
|
||||
|
||||
zzz(); // #break
|
||||
}
|
||||
|
||||
fn zzz() {}
|
Loading…
x
Reference in New Issue
Block a user