Enable python scripting for GDB

Sysprogs forums Forums VisualGDB Enable python scripting for GDB

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #9752
    borbmizzet
    Participant

    I was trying do the first option at https://sourceware.org/gdb/wiki/STLSupport , and  the arm-none-eabi GDB told me

    &”C:\\Users\\foobar/.gdbinit:6: Error in sourced command file:\n”
    &”Scripting in the \”Python\” language is not supported in this copy of GDB.\n”

    Can you please enable python scripting for GDB?  Debugging code that uses STL containers can get difficult without that.

    #9753
    support
    Keymaster

    Hi,

    VisualGDB provides its own mechanism for visualizing STL containers and supports Visual Studio natvis files, so you actually don’t need the Python scripting to debug them.

    #9760
    borbmizzet
    Participant

    How do I enable this feature?  I’ve got STL containers showing me raw data I don’t care about in debug mode, and it makes it a pain to click through all those expandable lines to get to the data I actually want to see, and often I can’t even figure out how.  STL lists are a nightmare to debug though, for example.

    #9762
    support
    Keymaster

    Hi,

    It should be turned on automatically. Perhaps something is preventing VisualGDB from recognizing the STL containers properly? Please try switching the GDB Session window to the “All GDB interaction” mode and then clearing its output and viewing one of the variables. Then please post the commands shown in the GDB Session window here. This should help us understand why the visualizers are not turning on.

    #10125
    borbmizzet
    Participant
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer"
    ^done,value="{...}"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private",exp="private",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t",exp="_M_t",numchild="1",type="std::unique_ptr<std::vector<unsigned char, std::allocator<unsigned char> >, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >::__tuple_type",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t"
    ^done,value="{...}"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="2",type="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="2",type="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="2",type="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t" 0 1
    ^done,numchild="1",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="2",type="std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >" 0 2
    ^done,numchild="2",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="1",type="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"},child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",exp="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",numchild="1",type="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >" 0 2
    ^done,numchild="2",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="1",type="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"},child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",exp="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",numchild="1",type="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >\.std::_Tuple_impl<1u,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >" 0 2
    ^done,numchild="2",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="1",type="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"},child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",exp="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",numchild="1",type="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >" 0 2
    ^done,numchild="2",children=[child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",exp="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",numchild="1",type="std::_Tuple_impl<1u, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >",thread-id="1"},child={name="var236.IO::MsgBase.IO::ReceiveBuffer.private.m_ReceiveBuffer.private._M_t.std::_Tuple_impl<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, std::default_delete<std::vector<unsigned char, std::allocator<unsigned char> > > >.std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",exp="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",numchild="1",type="std::_Head_base<0u, std::vector<unsigned char, std::allocator<unsigned char> >*, false>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var236\.IO::MsgBase\.IO::ReceiveBuffer\.private\.m_ReceiveBuffer\.private\._M_t\.std::_Tuple_impl<0u,\ std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\*,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >\.std::_Tuple_impl<1u,\ std::default_delete<std::vector<unsigned\ char,\ std::allocator<unsigned\ char>\ >\ >\ >"
    ^done,value="{...}"
    #10126
    borbmizzet
    Participant

    Heres the first part:

     

    C:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe --interpreter mi <REDACTED>
    -gdb-version
    =thread-group-added,id="i1"
    GNU gdb (GDB) 7.12
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-pc-mingw32 --target=arm-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    &"C:\\Users\\<REDACTED>/.gdbinit:6: Error in sourced command file:\n"
    &"Scripting in the \"Python\" language is not supported in this copy of GDB.\n"
    Reading symbols from <REDACTED>...
    done.
    GNU gdb (GDB) 7.12
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=i686-pc-mingw32 --target=arm-eabi".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word".
    OK
    -list-features
    ^done,features=["frozen-varobjs","pending-breakpoints","thread-info","data-read-memory-bytes","breakpoint-notifications","ada-task-info","language-option","info-gdb-mi-command","undefined-command-error-code","exec-run-start-option"]
    -gdb-set disassembly-flavor intel
    No symbol "disassembly" in current context.
    -gdb-set print demangle off
    OK
    -break-insert -f main
    ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0803d3fe",func="main()",file="<REDACTED>/main.cpp",fullname="<REDACTED>\\main.cpp",line="41",thread-groups=["i1"],times="0",original-location="main"}
    set remotetimeout 60
    &"set remotetimeout 60\n"
    =cmd-param-changed,param="remotetimeout",value="60"
    OK
    target remote :56072
    &"target remote :56072\n"
    Remote debugging using :56072
    =thread-group-started,id="i1",pid="42000"
    =thread-created,id="1",group-id="i1"
    0x080001e0 in ?? ()
    *stopped,frame={addr="0x080001e0",func="??",args=[]},thread-id="1",stopped-threads="all"
    OK
    info shared
    &"info shared\n"
    No shared libraries loaded at this time.
    OK
    mon halt
    &"mon halt\n"
    OK
    mon reset init
    &"mon reset init\n"
    Unable to match requested speed 2000 kHz, using 1800 kHz
    Unable to match requested speed 2000 kHz, using 1800 kHz
    adapter speed: 1800 kHz
    stm32f4x.cpu: target state: halted
    target halted due to debug-request, current mode: Thread 
    xPSR: 0x01000000 pc: 0x080001e0 msp: 0x20029000
    Unable to match requested speed 8000 kHz, using 4000 kHz
    Unable to match requested speed 8000 kHz, using 4000 kHz
    adapter speed: 4000 kHz
    OK
    load
    &"load\n"
    Loading section .isr_vector, size 0x1cc lma 0x800c000
    +download,{section=".isr_vector",section-size="460",total-size="21010257"}
    +download,{section=".isr_vector",section-sent="460",section-size="460",total-sent="460",total-size="21010257"}
    Loading section .text, size 0x5509c lma 0x800c200
    +download,{section=".text",section-size="348316",total-size="21010257"}
    Loading section .exidx, size 0x8 lma 0x806129c
    +download,{section=".exidx",section-size="8",total-size="21010257"}
    Loading section .init_array, size 0x30 lma 0x80612a4
    +download,{section=".init_array",section-size="48",total-size="21010257"}
    Loading section .fini_array, size 0x4 lma 0x80612d4
    +download,{section=".fini_array",section-size="4",total-size="21010257"}
    Loading section .data, size 0xdc4 lma 0x80612d8
    +download,{section=".data",section-size="3524",total-size="21010257"}
    Start address 0x801118c, load size 352360
    Transfer rate: 33 KB/sec, 11745 bytes/write.
    OK
    -data-evaluate-expression "sizeof(void *)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(int)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(short)"
    ^done,value="2"
    -data-evaluate-expression "sizeof(long)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(long long)"
    ^done,value="8"
    -data-evaluate-expression "sizeof(char)"
    ^done,value="1"
    -data-evaluate-expression "sizeof(wchar_t)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(float)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(double)"
    ^done,value="8"
    -data-evaluate-expression "sizeof(long double)"
    ^done,value="8"
    -var-create - * "&(s_pCurrentThreadState)"
    -var-create: unable to create variable object
    info target
    &"info target\n"
    Symbols from "<REDACTED>".
    Remote serial target in gdb-specific protocol:
    Debugging a target over a serial line.
     While running this, GDB does not access memory from...
    Local exec file:
     `<REDACTED>', file type elf32-littlearm.
     Entry point: 0x801118c
     0x0800c000 - 0x0800c1cc is .isr_vector
     0x0800c200 - 0x0806129c is .text
     0x0806129c - 0x0806129c is .eh_frame
     0x0806129c - 0x080612a4 is .exidx
     0x080612a4 - 0x080612d4 is .init_array
     0x080612d4 - 0x080612d8 is .fini_array
     0x20000000 - 0x20000dc4 is .data
     0x20000dc4 - 0x20000dc4 is .jcr
     0x20000dc4 - 0x20000dc4 is .tm_clone_table
     0x20000dc8 - 0x2000400c is .bss
     0x2000400c - 0x2001900c is .reserved_for_stack
     0xd0000000 - 0xd0800000 is .heap
    OK
    -break-insert -f *HardFault_Handler
    ^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x08027f7c",func="HardFault_Handler",file="<REDACTED>/BSP/stm32f4xx_it.c",fullname="<REDACTED>\\BSP\\stm32f4xx_it.c",line="112",thread-groups=["i1"],times="0",original-location="*HardFault_Handler"}
    -break-after 2 0
    OK
    -break-disable 2
    OK
    info symbol 0x8027f7c
    &"info symbol 0x8027f7c\n"
    HardFault_Handler in section .text
    OK
    info line *0x8027f7c
    &"info line *0x8027f7c\n"
    Line 112 of "<REDACTED>/BSP/stm32f4xx_it.c" starts at address 0x8027f7c <HardFault_Handler> and ends at 0x8027f80 <HardFault_Handler+4>.
    OK
    -file-list-exec-source-files
    <REDACTED>
    
    -data-evaluate-expression "&_estack"
    ^done,value="0x20030000"
    -var-create - * "*((void **)0x2002fffc)"
    ^done,name="var2",numchild="0",value="0x469d4556",type="void *",has_more="0"
    -var-assign "var2" 0x6c3b8b59
    ^done,value="0x6c3b8b59"
    -data-evaluate-expression "\*\(\(void\ \*\*\)0x2002fffc\)"
    ^done,value="0x6c3b8b59"
    -exec-continue
    ^running
    *running,thread-id="all"
    Note: automatically using hardware breakpoints for read-only addresses.
    =breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0803d3fe",func="main()",file="<REDACTED>/Startup/main.cpp",fullname="<REDACTED>\\Startup\\main.cpp",line="41",thread-groups=["i1"],times="1",original-location="main"}
    
    Breakpoint 1, main () at <REDACTED>/Startup/main.cpp:41
    41 HAL_Init();
    *stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x0803d3fe",func="main",args=[],file="<REDACTED>/Startup/main.cpp",fullname="<REDACTED>\\Startup\\main.cpp",line="41"},thread-id="1",stopped-threads="all"
    -break-delete 1
    OK
    -exec-continue
    ^running
    *running,thread-id="all"
    #10127
    support
    Keymaster

    Hi,

    Thanks for the log, however it does not include the -var-create command that is essential to understanding why VisualGDB does not treat this variable as a list.

    The output should normally look like this:

    -var-create --frame 0 --thread 1 - * "l"
    ^done,name="var1",numchild="1",value="{...}",type="std::__cxx11::list<int, std::allocator<int> >",thread-id="1",has_more="0"
    ptype/mt std::__cxx11::list<int, std::allocator<int> >
    &"ptype/mt std::__cxx11::list<int, std::allocator<int> >\n"
    type = class std::__cxx11::list<int, std::allocator<int> > [with _Tp = int, _Alloc = std::allocator<int>] : protected std::__cxx11::_List_base<_Tp, _Alloc> {
    }
    OK
    -var-info-path-expression "var1"
    ^done,path_expr="l"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)&\(\(l\)\._M_impl\._M_node\)"
    ^done,value="0x7fffffffea10"

    Please also ensure you are using the latest VisualGDB 5.2 as the STL container visualization was significantly optimized in this version.

    #10133
    borbmizzet
    Participant
    Breakpoint 7, PodManager::Run (this=0xd00077d4 <FixedSizeHeap+30676>) at C:/Users/<REDACTED>.cpp:34
    34 gHALInterface->Run();
    *stopped,reason="breakpoint-hit",disp="keep",bkptno="7",frame={addr="0x0805c2c8",func="<REDACTED>::Run",args=[{name="this",value="0xd00077d4 <FixedSizeHeap+30676>"}],file="C:/<REDACTED>.cpp",fullname="C:\\<REDACTED>.cpp",line="34"},thread-id="1",stopped-threads="all"
    -break-after 7 0
    OK
    -stack-list-frames --thread 1
    ^done,stack=[frame={level="0",addr="0x0805c2c8",func="<REDACTED>::Run",file="C:/Users/<REDACTED>.cpp",fullname="C:\\Users\\<REDACTED>.cpp",line="34"},frame={level="1",addr="0x08056f2e",func="<REDACTED>::Run",file="C:/Users/<REDACTED>.cpp",fullname="C:\\<REDACTED>.cpp",line="21"},frame={level="2",addr="0x0804c304",func="<REDACTED>",file="C:/Users/<REDACTED>t.cpp",fullname="C:\\Users\\<REDACTED>.cpp",line="123"},frame={level="3",addr="0x080580c4",func="<REDACTED>::Run",file="C:/Users/<REDACTED>.cpp",fullname="C:\\Users\\<REDACTED>.cpp",line="73"},frame={level="4",addr="0x08036a7e",func="<REDACTED>::Run",file="C:/Users/<REDACTED>.cpp",fullname="C:\\Users\\<REDACTED>.cpp",line="132"},frame={level="5",addr="0x0801c940",func="APP::Application::Run",file="C:/Users/<REDACTED>/Application.cpp",fullname="C:\\Users\\<REDACTED>\\Application.cpp",line="109"},frame={level="6",addr="0x0803e06e",func="main",file="C:/<REDACTED>/main.cpp",fullname="C:\\<REDACTED>\\main.cpp",line="65"}]
    -stack-list-arguments --thread 1 1
    ^done,stack-args=[frame={level="0",args=[{name="this",value="0xd00077d4 <FixedSizeHeap+30676>"}]},frame={level="1",args=[{name="this",value="0xd00077a8 <FixedSizeHeap+30632>"}]},frame={level="2",args=[{name="this",value="0xd00077a8 <FixedSizeHeap+30632>"}]},frame={level="3",args=[{name="this",value="0xd0006b60 <FixedSizeHeap+27488>"}]},frame={level="4",args=[{name="this",value="0xd0005290 <FixedSizeHeap+21136>"}]},frame={level="5",args=[{name="this",value="0xd0001d10 <FixedSizeHeap+7440>"}]},frame={level="6",args=[]}]
    -data-list-register-names
    ^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xPSR","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15","","","","","","","","","","","","","","","","","fpscr","msp","psp","primask","basepri","faultmask","control","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31"]
    -var-delete "var2"
    ^done,ndeleted="1"
    -var-create --frame 0 --thread 1 - * "find_if"
    -var-create: unable to create variable object
    -stack-list-variables --frame 0 --thread 1 0
    ^done,variables=[{name="this",arg="1"}]
    -var-create --frame 0 --thread 1 - * "this"
    ^done,name="var4",numchild="1",value="0xd00077d4 <FixedSizeHeap+30676>",type="PodManager * const",thread-id="1",has_more="0"
    ptype/mt PodManager * const
    &"ptype/mt PodManager * const\n"
    &"A syntax error in expression, near `const'.\n"
    A syntax error in expression, near `const'.
    -var-list-children --simple-values "var4" 0 1
    ^done,numchild="1",children=[child={name="var4.private",exp="private",numchild="3",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private" 0 3
    ^done,numchild="3",children=[child={name="var4.private.m_initialized",exp="m_initialized",numchild="0",value="true",type="bool",thread-id="1"},child={name="var4.private.m_expectedPods",exp="m_expectedPods",numchild="1",type="PodManager::pod_list_t",thread-id="1"},child={name="var4.private.m_unidentifiedPods",exp="m_unidentifiedPods",numchild="1",type="std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> >",thread-id="1"}],has_more="0"
    ptype/mt bool
    &"ptype/mt bool\n"
    type = bool
    OK
    ptype/mt PodManager::pod_list_t
    &"ptype/mt PodManager::pod_list_t\n"
    type = class std::__cxx11::list<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > > [with _Tp = std::shared_ptr<PodBase>, _Alloc = std::allocator<std::shared_ptr<PodBase> >] : protected std::__cxx11::_List_base<_Tp, _Alloc> {
    }
    OK
    -var-info-path-expression "var4\.private\.m_expectedPods"
    ^done,path_expr="((this)->m_expectedPods)"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)&\(\(\(\(this\)->m_expectedPods\)\)\._M_impl\._M_node\)"
    ^done,value="0xd00077d8 <FixedSizeHeap+30680>"
    ptype/mt std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> >
    &"ptype/mt std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> >\n"
    type = class std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> > [with _Tp = UnidentifiedPod, _Alloc = std::allocator<UnidentifiedPod>] : protected std::__cxx11::_List_base<_Tp, _Alloc> {
    }
    OK
    -var-info-path-expression "var4\.private\.m_unidentifiedPods"
    ^done,path_expr="((this)->m_unidentifiedPods)"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)&\(\(\(\(this\)->m_unidentifiedPods\)\)\._M_impl\._M_node\)"
    ^done,value="0xd00077e4 <FixedSizeHeap+30692>"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >::_Node\ \*\)0xd00077d8\)->_M_next"
    ^done,value="0xd0008fb0 <FixedSizeHeap+36784>"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >::_Node\ \*\)0xd0008fb0\)->_M_next"
    ^done,value="0xd0008f98 <FixedSizeHeap+36760>"
    -var-create --frame 0 --thread 1 - * "((std::__cxx11::list<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >::_Node *)0xd0008fb0)->_M_data"
    There is no member or method named _M_data.
    -var-list-children --simple-values "var4\.private\.m_expectedPods" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",exp="std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",numchild="1",type="std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",exp="std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",numchild="1",type="std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >"
    ^done,value="{...}"
    ptype/mt std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >
    &"ptype/mt std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >\n"
    type = class std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > > [with _Tp = std::shared_ptr<PodBase>, _Alloc = std::allocator<std::shared_ptr<PodBase> >] {
     protected:
     std::__cxx11::_List_base<_Tp, _Alloc>::_List_impl _M_impl;
    }
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected",exp="protected",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl",exp="_M_impl",numchild="2",type="std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >::_List_impl",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl"
    ^done,value="{...}"
    ptype/mt std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >::_List_impl
    &"ptype/mt std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >::_List_impl\n"
    type = struct std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >::_List_impl : public std::allocator<std::_List_node<std::shared_ptr<PodBase> > > {
     std::_List_node<size_type> _M_node;
    }
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.std::allocator<std::_List_node<std::shared_ptr<PodBase> > >",exp="std::allocator<std::_List_node<std::shared_ptr<PodBase> > >",numchild="1",type="std::allocator<std::_List_node<std::shared_ptr<PodBase> > >",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.std::allocator<std::_List_node<std::shared_ptr<PodBase>\ >\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node",exp="_M_node",numchild="2",type="std::_List_node<unsigned int>",thread-id="1"}],has_more="0"
    ptype/mt std::allocator<std::_List_node<std::shared_ptr<PodBase> > >
    &"ptype/mt std::allocator<std::_List_node<std::shared_ptr<PodBase> > >\n"
    type = class std::allocator<std::_List_node<std::shared_ptr<PodBase> > > : public __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > > {
    }
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.std::allocator<std::_List_node<std::shared_ptr<PodBase>\ >\ >" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.std::allocator<std::_List_node<std::shared_ptr<PodBase> > >.__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",exp="__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",numchild="0",type="__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.std::allocator<std::_List_node<std::shared_ptr<PodBase>\ >\ >" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.std::allocator<std::_List_node<std::shared_ptr<PodBase> > >.__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",exp="__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",numchild="0",type="__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.std::allocator<std::_List_node<std::shared_ptr<PodBase>\ >\ >\.__gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase>\ >\ >"
    ^done,value="{...}"
    ptype/mt std::_List_node<unsigned int>
    &"ptype/mt std::_List_node<unsigned int>\n"
    type = struct std::_List_node<unsigned int> [with _Tp = unsigned int] : public std::__detail::_List_node_base {
     __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
    }
    OK
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node"
    ^done,value="{...}"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base",exp="std::__detail::_List_node_base",numchild="1",type="std::__detail::_List_node_base",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base"
    ^done,value="{...}"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage",exp="_M_storage",numchild="1",type="__gnu_cxx::__aligned_membuf<unsigned int>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage"
    ^done,value="{...}"
    ptype/mt __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >
    &"ptype/mt __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > >\n"
    type = class __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<PodBase> > > [with _Tp = std::_List_node<std::shared_ptr<PodBase> >] {
    }
    OK
    ptype/mt std::__detail::_List_node_base
    &"ptype/mt std::__detail::_List_node_base\n"
    type = struct std::__detail::_List_node_base {
     std::__detail::_List_node_base *_M_next;
     std::__detail::_List_node_base *_M_prev;
    }
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next",exp="_M_next",numchild="1",value="0xd0008fb0 <FixedSizeHeap+36784>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev",exp="_M_prev",numchild="1",value="0xd0008f98 <FixedSizeHeap+36760>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    ptype/mt __gnu_cxx::__aligned_membuf<unsigned int>
    &"ptype/mt __gnu_cxx::__aligned_membuf<unsigned int>\n"
    type = struct __gnu_cxx::__aligned_membuf<unsigned int> [with _Tp = unsigned int] {
     unsigned char _M_storage[4];
    }
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public._M_storage",exp="_M_storage",numchild="4",type="unsigned char [4]",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public\._M_storage"
    ^done,value="[4]"
    ptype/mt std::__detail::_List_node_base *
    &"ptype/mt std::__detail::_List_node_base *\n"
    type = struct std::__detail::_List_node_base {
     std::__detail::_List_node_base *_M_next;
     std::__detail::_List_node_base *_M_prev;
    } *
    OK
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_next",exp="_M_next",numchild="1",value="0xd0008f98 <FixedSizeHeap+36760>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_prev",exp="_M_prev",numchild="1",value="0xd00077d8 <FixedSizeHeap+30680>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_next",exp="_M_next",numchild="1",value="0xd00077d8 <FixedSizeHeap+30680>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_prev",exp="_M_prev",numchild="1",value="0xd0008fb0 <FixedSizeHeap+36784>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    ptype/mt unsigned char [4]
    &"ptype/mt unsigned char [4]\n"
    type = unsigned char [4]
    OK
    -data-evaluate-expression --frame 0 --thread 1 "&\(\(\(\(\(\(\(\(\(this\)->m_expectedPods\)\.\[actual\ members]\)\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\)\._M_impl\)\._M_node\)\._M_storage\)\._M_storage\)\[0]\)"
    A syntax error in expression, near `[actual members]).std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >)._M_impl)._M_node)._M_storage)._M_storage)[0])'.
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public\._M_storage" 0 4
    ^done,numchild="4",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.0",exp="0",numchild="0",value="2 '\\002'",type="unsigned char",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.1",exp="1",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.2",exp="2",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.3",exp="3",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev\.public\._M_next" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_next.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev\.public\._M_next\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_next.public._M_next",exp="_M_next",numchild="1",value="0xd0008fb0 <FixedSizeHeap+36784>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_next.public._M_prev",exp="_M_prev",numchild="1",value="0xd0008f98 <FixedSizeHeap+36760>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev\.public\._M_prev" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_prev.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_prev\.public\._M_prev\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_prev.public._M_next",exp="_M_next",numchild="1",value="0xd0008f98 <FixedSizeHeap+36760>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev.public._M_prev.public._M_prev",exp="_M_prev",numchild="1",value="0xd00077d8 <FixedSizeHeap+30680>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next\.public\._M_next" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_next.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next\.public\._M_next\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_next.public._M_next",exp="_M_next",numchild="1",value="0xd00077d8 <FixedSizeHeap+30680>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_next.public._M_prev",exp="_M_prev",numchild="1",value="0xd0008fb0 <FixedSizeHeap+36784>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next\.public\._M_prev" 0 1
    ^done,numchild="1",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_prev.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var4\.private\.m_expectedPods\.std::__cxx11::_List_base<std::shared_ptr<PodBase>,\ std::allocator<std::shared_ptr<PodBase>\ >\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public\._M_next\.public\._M_prev\.public" 0 2
    ^done,numchild="2",children=[child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_prev.public._M_next",exp="_M_next",numchild="1",value="0xd0008fb0 <FixedSizeHeap+36784>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var4.private.m_expectedPods.std::__cxx11::_List_base<std::shared_ptr<PodBase>, std::allocator<std::shared_ptr<PodBase> > >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next.public._M_prev.public._M_prev",exp="_M_prev",numchild="1",value="0xd0008f98 <FixedSizeHeap+36760>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    #10137
    support
    Keymaster

    Hi,

    Thanks for the update log. Now it looks like VisualGDB is getting the expression type correctly, but it looks like there are too many expressions checked in one session, so it’s hard to understand what is broken.

    Please try creating a local variable of the list type, clear the GDB Session window and add that variable to watch. Then please attach a screenshot of the watch window and the corresponding gdb log. Please avoid evaluating that variable before you reset the log, as VisualGDB will then cache its type and not re-query it, so we will not be able to see what is going on.

    #10140
    borbmizzet
    Participant
    -var-delete "var3"
    ^done,ndeleted="11"
    -var-delete "var4"
    ^done,ndeleted="5"
    -var-delete "var5"
    ^done,ndeleted="1"
    -var-delete "var6"
    ^done,ndeleted="1"
    -var-delete "var7"
    ^done,ndeleted="1"
    -var-delete "var12"
    ^done,ndeleted="1"
    -stack-list-variables --frame 0 --thread 1 0
    ^done,variables=[{name="testList"},{name="testptr"},{name="testptrlist"},{name="lSelfTestStatus"}]
    -var-create --frame 0 --thread 1 - * "testList"
    ^done,name="var13",numchild="1",value="{...}",type="std::__cxx11::list<unsigned char, std::allocator<unsigned char> >",thread-id="1",has_more="0"
    -var-create --frame 0 --thread 1 - * "testptr"
    ^done,name="var14",numchild="1",value="{...}",type="std::shared_ptr<unsigned char>",thread-id="1",has_more="0"
    -var-create --frame 0 --thread 1 - * "testptrlist"
    ^done,name="var15",numchild="1",value="{...}",type="std::__cxx11::list<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",thread-id="1",has_more="0"
    -var-create --frame 0 --thread 1 - * "lSelfTestStatus"
    ^done,name="var16",numchild="0",value="STATUS_OK",type="ReturnStatus",thread-id="1",has_more="0"
    -var-info-path-expression "var13"
    ^done,path_expr="testList"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)&\(\(testList\)\._M_impl\._M_node\)"
    ^done,value="0x2002ffd8"
    -var-info-path-expression "var15"
    ^done,path_expr="testptrlist"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)&\(\(testptrlist\)\._M_impl\._M_node\)"
    ^done,value="0x2002ffc4"
    -var-list-children --simple-values "var14" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",exp="std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",numchild="1",type="std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var14" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",exp="std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",numchild="1",type="std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>"
    ^done,value="{...}"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<unsigned\ char,\ std::allocator<unsigned\ char>\ >::_Node\ \*\)0x2002ffd8\)->_M_next"
    ^done,value="0xd0000238 <FixedSizeHeap+568>"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<unsigned\ char,\ std::allocator<unsigned\ char>\ >::_Node\ \*\)0xd0000238\)->_M_next"
    ^done,value="0xd0000250 <FixedSizeHeap+592>"
    -var-create --frame 0 --thread 1 - * "((std::__cxx11::list<unsigned char, std::allocator<unsigned char> >::_Node *)0xd0000238)->_M_data"
    There is no member or method named _M_data.
    -var-list-children --simple-values "var13" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",exp="std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",numchild="1",type="std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",exp="std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",numchild="1",type="std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected",exp="protected",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl",exp="_M_impl",numchild="2",type="std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >::_List_impl",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl"
    ^done,value="{...}"
    &"Quit (expect signal SIGINT when the program is resumed)\n"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl" 0 2
    ^done,numchild="2",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.std::allocator<std::_List_node<unsigned char> >",exp="std::allocator<std::_List_node<unsigned char> >",numchild="1",type="std::allocator<std::_List_node<unsigned char> >",thread-id="1"},child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.std::allocator<std::_List_node<unsigned\ char>\ >"
    ^done,value="{...}"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node",exp="_M_node",numchild="2",type="std::_List_node<unsigned int>",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.std::allocator<std::_List_node<unsigned\ char>\ >" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.std::allocator<std::_List_node<unsigned char> >.__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",exp="__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",numchild="0",type="__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.std::allocator<std::_List_node<unsigned\ char>\ >" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.std::allocator<std::_List_node<unsigned char> >.__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",exp="__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",numchild="0",type="__gnu_cxx::new_allocator<std::_List_node<unsigned char> >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.std::allocator<std::_List_node<unsigned\ char>\ >\.__gnu_cxx::new_allocator<std::_List_node<unsigned\ char>\ >"
    ^done,value="{...}"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node"
    ^done,value="{...}"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node" 0 2
    ^done,numchild="2",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.std::__detail::_List_node_base",exp="std::__detail::_List_node_base",numchild="1",type="std::__detail::_List_node_base",thread-id="1"},child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base"
    ^done,value="{...}"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.public" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.public._M_storage",exp="_M_storage",numchild="1",type="__gnu_cxx::__aligned_membuf<unsigned int>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage"
    ^done,value="{...}"
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private",exp="private",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private" 0 2
    ^done,numchild="2",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_ptr",exp="_M_ptr",numchild="1",value="0xd000026c <FixedSizeHeap+620> \"\\030\\a\"",type="unsigned char *",thread-id="1"},child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_refcount",exp="_M_refcount",numchild="1",type="std::__shared_count<(__gnu_cxx::_Lock_policy)0>",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private\._M_refcount"
    ^done,value="{...}"
    ptype/mt unsigned char *
    &"ptype/mt unsigned char *\n"
    type = unsigned char *
    OK
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private\._M_ptr" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_ptr.*_M_ptr",exp="*_M_ptr",numchild="0",value="24 '\\030'",type="unsigned char",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private\._M_ptr" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_ptr.*_M_ptr",exp="*_M_ptr",numchild="0",value="24 '\\030'",type="unsigned char",thread-id="1"}],has_more="0"
    ptype/mt std::__shared_count<(__gnu_cxx::_Lock_policy)0>
    &"ptype/mt std::__shared_count<(__gnu_cxx::_Lock_policy)0>\n"
    type = class std::__shared_count<(__gnu_cxx::_Lock_policy)0> {
     private:
     std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)0> *_M_pi;
    }
    OK
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private\._M_refcount" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_refcount.private",exp="private",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var14\.std::__shared_ptr<unsigned\ char,\ \(__gnu_cxx::_Lock_policy\)0>\.private\._M_refcount\.private" 0 1
    ^done,numchild="1",children=[child={name="var14.std::__shared_ptr<unsigned char, (__gnu_cxx::_Lock_policy)0>.private._M_refcount.private._M_pi",exp="_M_pi",numchild="2",value="0xd0000260 <FixedSizeHeap+608>",type="std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)0> *",thread-id="1"}],has_more="0"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >::_Node\ \*\)0x2002ffc4\)->_M_next"
    ^done,value="0xd0000278 <FixedSizeHeap+632>"
    -data-evaluate-expression --frame 0 --thread 1 "\(void\ \*\)\(\(std::__cxx11::list<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >::_Node\ \*\)0xd0000278\)->_M_next"
    ^done,value="0x2002ffc4"
    -var-create --frame 0 --thread 1 - * "((std::__cxx11::list<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >::_Node *)0xd0000278)->_M_data"
    There is no member or method named _M_data.
    -var-list-children --simple-values "var15" 0 1
    ^done,numchild="1",children=[child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",exp="std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",numchild="1",type="std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var15" 0 1
    ^done,numchild="1",children=[child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",exp="std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",numchild="1",type="std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >"
    ^done,value="{...}"
    ptype/mt std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >
    &"ptype/mt std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >\n"
    type = class std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > > [with _Tp = std::shared_ptr<unsigned char>, _Alloc = std::allocator<std::shared_ptr<unsigned char> >] {
     protected:
     std::__cxx11::_List_base<_Tp, _Alloc>::_List_impl _M_impl;
    }
    OK
    -var-list-children --simple-values "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >" 0 1
    ^done,numchild="1",children=[child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >.protected",exp="protected",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >\.protected" 0 1
    ^done,numchild="1",children=[child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >.protected._M_impl",exp="_M_impl",numchild="2",type="std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >::_List_impl",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >\.protected\._M_impl"
    ^done,value="{...}"
    ptype/mt std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >::_List_impl
    &"ptype/mt std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >::_List_impl\n"
    type = struct std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >::_List_impl : public std::allocator<std::_List_node<std::shared_ptr<unsigned char> > > {
     std::_List_node<size_type> _M_node;
    }
    OK
    -var-list-children --simple-values "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >\.protected\._M_impl" 0 2
    ^done,numchild="2",children=[child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >.protected._M_impl.std::allocator<std::_List_node<std::shared_ptr<unsigned char> > >",exp="std::allocator<std::_List_node<std::shared_ptr<unsigned char> > >",numchild="1",type="std::allocator<std::_List_node<std::shared_ptr<unsigned char> > >",thread-id="1"},child={name="var15.std::__cxx11::_List_base<std::shared_ptr<unsigned char>, std::allocator<std::shared_ptr<unsigned char> > >.protected._M_impl.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var15\.std::__cxx11::_List_base<std::shared_ptr<unsigned\ char>,\ std::allocator<std::shared_ptr<unsigned\ char>\ >\ >\.protected\._M_impl\.std::allocator<std::_List_node<std::shared_ptr<unsigned\ char>\ >\ >"
    ^done,value="{...}"
    ptype/mt __gnu_cxx::new_allocator<std::_List_node<unsigned char> >
    &"ptype/mt __gnu_cxx::new_allocator<std::_List_node<unsigned char> >\n"
    type = class __gnu_cxx::new_allocator<std::_List_node<unsigned char> > [with _Tp = std::_List_node<unsigned char>] {
    }
    OK
    ptype/mt std::__detail::_List_node_base
    &"ptype/mt std::__detail::_List_node_base\n"
    type = struct std::__detail::_List_node_base {
     std::__detail::_List_node_base *_M_next;
     std::__detail::_List_node_base *_M_prev;
    }
    OK
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public",exp="public",numchild="2",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.std::__detail::_List_node_base\.public" 0 2
    ^done,numchild="2",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_next",exp="_M_next",numchild="1",value="0xd0000238 <FixedSizeHeap+568>",type="std::__detail::_List_node_base *",thread-id="1"},child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.std::__detail::_List_node_base.public._M_prev",exp="_M_prev",numchild="1",value="0xd0000250 <FixedSizeHeap+592>",type="std::__detail::_List_node_base *",thread-id="1"}],has_more="0"
    ptype/mt __gnu_cxx::__aligned_membuf<unsigned int>
    &"ptype/mt __gnu_cxx::__aligned_membuf<unsigned int>\n"
    type = struct __gnu_cxx::__aligned_membuf<unsigned int> [with _Tp = unsigned int] {
     unsigned char _M_storage[4];
    }
    OK
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.public._M_storage.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0"
    -var-list-children --simple-values "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public" 0 1
    ^done,numchild="1",children=[child={name="var13.std::__cxx11::_List_base<unsigned char, std::allocator<unsigned char> >.protected._M_impl.public._M_node.public._M_storage.public._M_storage",exp="_M_storage",numchild="4",type="unsigned char [4]",thread-id="1"}],has_more="0"
    -var-evaluate-expression "var13\.std::__cxx11::_List_base<unsigned\ char,\ std::allocator<unsigned\ char>\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public\._M_storage"
    ^done,value="[4]"
    

    screenshot

    • This reply was modified 7 years, 3 months ago by borbmizzet.
    #10142
    support
    Keymaster

    Hi,

    Sorry, the screenshot did not get pasted properly. Could you try uploading it to imgur or any other image hosting?

    #10157
    borbmizzet
    Participant
    #10158
    support
    Keymaster

    Hi,

    The watch window contents looks normal. The [actual members] element is shown by VisualGDB in case you want to debug some low-level issues. If no other elements are shown, the list is most likely empty. If you can confirm that adding elements to the list still does not change the view, please attach an updated screenshot (code for adding elements + watch window contents) so that we can investigate this further.

    #10781
    borbmizzet
    Participant

    Been absent from this thread for a while, but its still not showing me the objects in my std::list<>’s correctly. I’m using the most recent sysprogs build of the arm-none-eabi toolchain.

    after line:
    m_unidentifiedPods.insert(m_unidentifiedPods.end(), UnidentifiedPod());

    I try to view members of m_unidentifiedPods and get the following gdb output:

    -var-create --frame 0 --thread 1 - * "((std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> >::_Node *)0xd00129d0)->_M_data"
    There is no member or method named _M_data.

    and the following watch output:

    -		m_unidentifiedPods	[expand to populate std::list]	std::__cxx11::list<UnidentifiedPod, std::allocator<UnidentifiedPod> >
    -		[actual members]	{...}	
    -		std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >	{_M_impl = {...}}	std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >
    -		_M_impl	{...}	std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >::_List_impl
    -		std::allocator<std::_List_node<UnidentifiedPod> >	{...}	std::allocator<std::_List_node<UnidentifiedPod> >
    		__gnu_cxx::new_allocator<std::_List_node<UnidentifiedPod> >	{}	__gnu_cxx::new_allocator<std::_List_node<UnidentifiedPod> >
    -		_M_node	{std::__detail::_List_node_base = {...}, ...}	std::_List_node<unsigned int>
    -		std::__detail::_List_node_base	{_M_next = 0xd00129d0 <FixedSizeHeap+76240>, ...}	std::__detail::_List_node_base
    +		_M_next	0xd00129d0 <FixedSizeHeap+76240> {0xd000b6f0 <FixedSizeHeap+46832>}	std::__detail::_List_node_base *
    +		_M_prev	0xd00129d0 <FixedSizeHeap+76240> {0xd000b6f0 <FixedSizeHeap+46832>}	std::__detail::_List_node_base *
    -		_M_storage	{_M_storage = [4]}	__gnu_cxx::__aligned_membuf<unsigned int>
    -		_M_storage	{1 '\001', 0 '\000', 0 '\000', 0 '\000'}	unsigned char [4]
    		[0]	1 '\001'	unsigned char
    		[1]	0 '\000'	unsigned char
    		[2]	0 '\000'	unsigned char
    		[3]	0 '\000'	unsigned char
    
    • This reply was modified 7 years, 1 month ago by borbmizzet.
    #10783
    borbmizzet
    Participant

    2 more errors I found in the gdb session (after the one listed above):

    -data-evaluate-expression --frame 0 --thread 1 "&\(\(\(\(\(\(\(\(\(this\)->m_unidentifiedPods\)\.\[actual\ members]\)\.std::__cxx11::_List_base<UnidentifiedPod,\ std::allocator<UnidentifiedPod>\ >\)\._M_impl\)\._M_node\)\._M_storage\)\._M_storage\)\[0]\)"
    A syntax error in expression, near '[actual members]).std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >)._M_impl)._M_node)._M_storage)._M_storage)[0])'.
    -var-list-children --simple-values "var21\.private\.m_unidentifiedPods\.std::__cxx11::_List_base<UnidentifiedPod,\ std::allocator<UnidentifiedPod>\ >\.protected\._M_impl\.public\._M_node\.public\._M_storage\.public\._M_storage" 0 4
    ^done,numchild="4",children=[child={name="var21.private.m_unidentifiedPods.std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.0",exp="0",numchild="0",value="1 '\\001'",type="unsigned char",thread-id="1"},child={name="var21.private.m_unidentifiedPods.std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.1",exp="1",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"},child={name="var21.private.m_unidentifiedPods.std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.2",exp="2",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"},child={name="var21.private.m_unidentifiedPods.std::__cxx11::_List_base<UnidentifiedPod, std::allocator<UnidentifiedPod> >.protected._M_impl.public._M_node.public._M_storage.public._M_storage.3",exp="3",numchild="0",value="0 '\\000'",type="unsigned char",thread-id="1"}],has_more="0"
    -var-create --frame 0 --thread 1 - * "m_unidentifiedPods.insert(m_unidentifiedPods.end(), UnidentifiedPod());"
    -var-create: unable to create variable object
    • This reply was modified 7 years, 1 month ago by borbmizzet.
    • This reply was modified 7 years, 1 month ago by borbmizzet.
    • This reply was modified 7 years, 1 month ago by borbmizzet.
Viewing 15 posts - 1 through 15 (of 19 total)
  • You must be logged in to reply to this topic.