diff options
| author | Wesley Wiser <wesleywiser@microsoft.com> | 2021-07-01 15:57:12 -0400 |
|---|---|---|
| committer | Wesley Wiser <wesleywiser@microsoft.com> | 2021-07-08 13:40:55 -0400 |
| commit | 85002741a26d6fdf6578e33aaaeace7c04c6254a (patch) | |
| tree | 399cbe9b1c5d89fd817cae6bb3f23e2384de2ecf /src | |
| parent | a6a82c66d4fc3be10861ad6885ff0ab239c203ad (diff) | |
| download | rust-85002741a26d6fdf6578e33aaaeace7c04c6254a.tar.gz rust-85002741a26d6fdf6578e33aaaeace7c04c6254a.zip | |
Add visualizer for OsString and fixup other string visualizers
Diffstat (limited to 'src')
| -rw-r--r-- | src/etc/natvis/intrinsic.natvis | 4 | ||||
| -rw-r--r-- | src/etc/natvis/libstd.natvis | 16 | ||||
| -rw-r--r-- | src/test/debuginfo/pretty-std.rs | 5 |
3 files changed, 20 insertions, 5 deletions
diff --git a/src/etc/natvis/intrinsic.natvis b/src/etc/natvis/intrinsic.natvis index 52e5d37c83f..558536fa613 100644 --- a/src/etc/natvis/intrinsic.natvis +++ b/src/etc/natvis/intrinsic.natvis @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="str"> - <DisplayString>{data_ptr,[length]s8}</DisplayString> - <StringView>data_ptr,[length]s8</StringView> + <DisplayString>{(char*)data_ptr,[length]s8}</DisplayString> + <StringView>(char*)data_ptr,[length]s8</StringView> <Expand> <Item Name="[len]" ExcludeView="simple">length</Item> <Synthetic Name="[chars]"> diff --git a/src/etc/natvis/libstd.natvis b/src/etc/natvis/libstd.natvis index 3ccd2e9c30e..25094fc8409 100644 --- a/src/etc/natvis/libstd.natvis +++ b/src/etc/natvis/libstd.natvis @@ -74,7 +74,7 @@ </Type> <Type Name="std::ffi::c_str::CString"> - <DisplayString>{inner.data_ptr,s}</DisplayString> + <DisplayString>{(char*)inner.data_ptr}</DisplayString> <Expand> <Synthetic Name="[chars]"> <Expand> @@ -101,4 +101,18 @@ </Synthetic> </Expand> </Type> + + <Type Name="std::ffi::os_str::OsString"> + <DisplayString>{(char*)inner.inner.bytes.buf.ptr.pointer,[inner.inner.bytes.len]}</DisplayString> + <Expand> + <Synthetic Name="[chars]"> + <Expand> + <ArrayItems> + <Size>inner.inner.bytes.len</Size> + <ValuePointer>(char*)inner.inner.bytes.buf.ptr.pointer</ValuePointer> + </ArrayItems> + </Expand> + </Synthetic> + </Expand> + </Type> </AutoVisualizer> diff --git a/src/test/debuginfo/pretty-std.rs b/src/test/debuginfo/pretty-std.rs index a2074c43dfa..51325cd4249 100644 --- a/src/test/debuginfo/pretty-std.rs +++ b/src/test/debuginfo/pretty-std.rs @@ -111,8 +111,9 @@ // cdb-check: [11] : 33 '!' [Type: char] // cdb-command: dx os_string -// cdb-check:os_string [Type: [...]::OsString] -// NOTE: OsString doesn't have a .natvis entry yet. +// cdb-check:os_string : "IAMA OS string 😃" [Type: std::ffi::os_str::OsString] +// cdb-check: [<Raw View>] [Type: std::ffi::os_str::OsString] +// cdb-check: [chars] // cdb-command: dx some // cdb-check:some : Some [Type: enum$<core::option::Option<i16> >] |
