Sysprogs forums › Forums › VisualGDB › Enable python scripting for GDB
- This topic has 18 replies, 2 voices, and was last updated 7 years, 7 months ago by support.
-
AuthorPosts
-
December 8, 2016 at 22:40 #9752borbmizzetParticipant
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.
December 8, 2016 at 22:54 #9753supportKeymasterHi,
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.
December 9, 2016 at 16:27 #9760borbmizzetParticipantHow 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.
December 9, 2016 at 20:12 #9762supportKeymasterHi,
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.
January 18, 2017 at 21:50 #10125borbmizzetParticipant-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="{...}"
January 18, 2017 at 23:35 #10126borbmizzetParticipantHeres 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"
January 19, 2017 at 03:23 #10127supportKeymasterHi,
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.
January 19, 2017 at 17:28 #10133borbmizzetParticipantBreakpoint 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"
January 19, 2017 at 21:55 #10137supportKeymasterHi,
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.
January 20, 2017 at 18:21 #10140borbmizzetParticipant-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]"
- This reply was modified 7 years, 10 months ago by borbmizzet.
January 20, 2017 at 18:24 #10142supportKeymasterHi,
Sorry, the screenshot did not get pasted properly. Could you try uploading it to imgur or any other image hosting?
January 23, 2017 at 22:32 #10157borbmizzetParticipantJanuary 24, 2017 at 06:15 #10158supportKeymasterHi,
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.
March 23, 2017 at 17:14 #10781borbmizzetParticipantBeen 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, 8 months ago by borbmizzet.
March 23, 2017 at 17:23 #10783borbmizzetParticipant2 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, 8 months ago by borbmizzet.
- This reply was modified 7 years, 8 months ago by borbmizzet.
- This reply was modified 7 years, 8 months ago by borbmizzet.
-
AuthorPosts
- You must be logged in to reply to this topic.