debbuger natvis
- intrinsic.natvis
- liballoc.natvis
- libcore.natvis
<?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> <Expand> <Item Name="[size]" ExcludeView="simple">length</Item> <ArrayItems> <Size>length</Size> <ValuePointer>data_ptr</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="slice<*>"> <DisplayString>{{ length={length} }}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">length</Item> <ArrayItems> <Size>length</Size> <ValuePointer>data_ptr</ValuePointer> </ArrayItems> </Expand> </Type> </AutoVisualizer>
<?xml version="1.0" encoding="utf-8"?> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="alloc::vec::Vec<*>"> <DisplayString>{{ size={len} }}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">len</Item> <Item Name="[capacity]" ExcludeView="simple">buf.cap</Item> <ArrayItems> <Size>len</Size> <ValuePointer>buf.ptr.pointer</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="alloc::collections::vec_deque::VecDeque<*>"> <DisplayString>{{ size={tail <= head ? head - tail : buf.cap - tail + head} }}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">tail <= head ? head - tail : buf.cap - tail + head</Item> <Item Name="[capacity]" ExcludeView="simple">buf.cap</Item> <CustomListItems> <Variable Name="i" InitialValue="tail" /> <Size>tail <= head ? head - tail : buf.cap - tail + head</Size> <Loop> <If Condition="i == head"> <Break/> </If> <Item>buf.ptr.pointer[i]</Item> <Exec>i = (i + 1 == buf.cap ? 0 : i + 1)</Exec> </Loop> </CustomListItems> </Expand> </Type> <Type Name="alloc::collections::linked_list::LinkedList<*>"> <DisplayString>{{ size={len} }}</DisplayString> <Expand> <LinkedListItems> <Size>len</Size> <HeadPointer>*(alloc::collections::linked_list::Node<$T1> **)&head</HeadPointer> <NextPointer>*(alloc::collections::linked_list::Node<$T1> **)&next</NextPointer> <ValueNode>element</ValueNode> </LinkedListItems> </Expand> </Type> <Type Name="alloc::string::String"> <DisplayString>{*(char**)this,[vec.len]s8}</DisplayString> <StringView>*(char**)this,[vec.len]s8</StringView> <Expand> <Item Name="[size]" ExcludeView="simple">vec.len</Item> <Item Name="[capacity]" ExcludeView="simple">vec.buf.cap</Item> <ArrayItems> <Size>vec.len</Size> <ValuePointer>*(char**)this</ValuePointer> </ArrayItems> </Expand> </Type> </AutoVisualizer>
<?xml version="1.0" encoding="utf-8"?> <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> <Type Name="core::ptr::Unique<*>"> <DisplayString>{{ Unique {pointer} }}</DisplayString> <Expand> <Item Name="[ptr]">pointer</Item> </Expand> </Type> <Type Name="core::ptr::Shared<*>"> <DisplayString>{{ Shared {pointer} }}</DisplayString> <Expand> <Item Name="[ptr]">pointer</Item> </Expand> </Type> <Type Name="core::option::Option<*>"> <DisplayString Condition="RUST$ENUM$DISR == 0x0">{{ None }}</DisplayString> <DisplayString Condition="RUST$ENUM$DISR == 0x1">{{ Some {__0} }}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">(ULONG)(RUST$ENUM$DISR != 0)</Item> <Item Name="[value]" ExcludeView="simple">__0</Item> <ArrayItems> <Size>(ULONG)(RUST$ENUM$DISR != 0)</Size> <ValuePointer>&__0</ValuePointer> </ArrayItems> </Expand> </Type> <Type Name="core::option::Option<*>" Priority="MediumLow"> <DisplayString Condition="*(PVOID *)this == nullptr">{{ None }}</DisplayString> <DisplayString>{{ Some {($T1 *)this} }}</DisplayString> <Expand> <Item Name="[size]" ExcludeView="simple">(ULONG)(*(PVOID *)this != nullptr)</Item> <Item Name="[value]" ExcludeView="simple" Condition="*(PVOID *)this != nullptr">($T1 *)this</Item> <ArrayItems> <Size>(ULONG)(*(PVOID *)this != nullptr)</Size> <ValuePointer>($T1 *)this</ValuePointer> </ArrayItems> </Expand> </Type> </AutoVisualizer>
書いてあった本:
- 作者: κeen,河野達也,小松礼人
- 出版社/メーカー: 技術評論社
- 発売日: 2019/05/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る