<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Feb 19, 2018, at 1:51 AM, Bryan Bennetts via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" class="">lldb-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<div class=""><br class=""></div><div class="">Apologies if this is  the wrong forum for this question - redirection to the correct place would be appreciated...</div><div class=""><br class=""></div><div class="">I am running</div><div class=""><br class=""></div><div class=""><div class="">lldb --version</div><div class="">lldb-900.0.64</div><div class="">  Swift-4.0</div></div><div class=""><br class=""></div><div class="">with binaries compiled using g++</div><div class=""><br class=""></div><div class="">g++-5 --version</div><div class="">g++-5 (Homebrew GCC 5.5.0_2) 5.5.0</div><div class="">Copyright (C) 2015 Free Software Foundation, Inc.</div><div class="">This is free software; see the source for copying conditions.  There is NO</div><div class="">warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.(although I have tried a build from repo as well)<br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">The <a href="https://lldb.llvm.org/varformats.html" target="_blank" class="">website</a> implies that gcc std library formatters should be available:</div><div class=""><br class=""></div><div class=""><p style="font-family: Times; font-size: inherit;" class="">By default, several categories are created in LLDB:</p><ul style="font-family: Times; font-size: inherit;" class=""><li class=""><code class="">default</code>: this is the category where every formatter ends up, unless another category is specified</li><li class=""><code class="">objc</code>: formatters for basic and common Objective-C types that do not specifically depend on Mac OS X</li><li class=""><code class="">gnu-libstdc++</code>: formatters for std::string, std::vector, std::list and std::map as implemented by libstdcpp</li></ul><div class="">However I see:</div></div><div class=""><br class=""></div><div class=""><div class="">(lldb) type category list                                                                                                                                     Category: default (enabled)</div><div class="">Category: VectorTypes (enabled, applicable for language(s): objective-c++)</div><div class="">Category: runtime-synthetics (enabled, applicable for language(s): objective-c++, swift)</div><div class="">Category: system (enabled, applicable for language(s): objective-c++)</div><div class="">(lldb) type category enable gnu-libstdc++                                                                                                                     warning: empty category enabled (typo?)</div></div><div class=""><br class=""></div><div class="">And the std containers do not print nicely:</div><div class=""><br class=""></div><div class=""><div class="">containerTest: cat main.cpp</div><div class="">#include <iostream></div><div class="">#include <vector></div><div class=""><br class=""></div><div class="">using namespace std;</div><div class=""><br class=""></div><div class="">int main()</div><div class="">{</div><div class="">    auto v = vector< unsigned >{ 0, 1, 2, 3, 4, 5, 6, 7, 9 };</div><div class=""><br class=""></div><div class="">    for( auto i : v )</div><div class="">    {</div><div class="">        cout << i << "\n";</div><div class="">    }</div><div class=""><br class=""></div><div class="">    return( 0 );</div><div class="">}</div><div class=""> containerTest: g++-5 -g -std=c++11  main.cpp</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:157:11: warning: section "__textcoal_nt" is deprecated</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:157:11: note: change section name to "__text"</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:386:11: warning: section "__textcoal_nt" is deprecated</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:386:11: note: change section name to "__text"</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:430:11: warning: section "__textcoal_nt" is deprecated</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:430:11: note: change section name to "__text"</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:683:11: warning: section "__textcoal_nt" is deprecated</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class="">/var/folders/2_/07xjgwq904376gst9m3ddb100000gn/T//cctjpiwL.s:683:11: note: change section name to "__text"</div><div class="">        .section __TEXT,__textcoal_nt,coalesced,pure_instructions</div><div class="">                 ^      ~~~~~~~~~~~~~</div><div class=""> containerTest: lldb ./a.out</div><div class="">(lldb) target create "./a.out"</div><div class="">Current executable set to './a.out' (x86_64).</div><div class="">(lldb) b main</div><div class="">Breakpoint 1: where = a.out`main + 13 at main.cpp:8, address = 0x0000000100001673</div><div class="">(lldb) run</div><div class="">Process 98294 launched: './a.out' (x86_64)</div><div class="">Process 98294 stopped</div><div class="">* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1</div><div class="">    frame #0: 0x0000000100001673 a.out`main at main.cpp:8</div><div class="">   5</div><div class="">   6   <span style="white-space:pre-wrap" class="">      </span>int main()</div><div class="">   7   <span style="white-space:pre-wrap" class="">      </span>{</div><div class="">-> 8   <span style="white-space:pre-wrap" class="">      </span>    auto v = vector< unsigned >{ 0, 1, 2, 3, 4, 5, 6, 7, 9 };</div><div class="">   9</div><div class="">   10  <span style="white-space:pre-wrap" class="">        </span>    for( auto i : v )</div><div class="">   11  <span style="white-space:pre-wrap" class="">      </span>    {</div><div class="">Target 0: (a.out) stopped.</div><div class="">(lldb) n</div><div class="">Process 98294 stopped</div><div class="">* thread #1, queue = 'com.apple.main-thread', stop reason = step over</div><div class="">    frame #0: 0x00000001000016bd a.out`main at main.cpp:10</div><div class="">   7   <span style="white-space:pre-wrap" class="">       </span>{</div><div class="">   8   <span style="white-space:pre-wrap" class="">       </span>    auto v = vector< unsigned >{ 0, 1, 2, 3, 4, 5, 6, 7, 9 };</div><div class="">   9</div><div class="">-> 10  <span style="white-space:pre-wrap" class="">       </span>    for( auto i : v )</div><div class="">   11  <span style="white-space:pre-wrap" class="">      </span>    {</div><div class="">   12  <span style="white-space:pre-wrap" class="">      </span>        cout << i << "\n";</div><div class="">   13  <span style="white-space:pre-wrap" class=""> </span>    }</div><div class="">Target 0: (a.out) stopped.</div><div class="">(lldb) p v</div><div class="">(vector<unsigned int, allocator<unsigned int> >) $0 = {</div><div class="">  _Vector_base<unsigned int, allocator<unsigned int> > = {</div><div class="">    _M_impl = {</div><div class="">      _M_start = 0x0000000100402050</div><div class="">      _M_finish = 0x0000000100402074</div><div class="">      _M_end_of_storage = 0x0000000100402074</div><div class="">    }</div><div class="">  }</div><div class="">}</div><div class="">(lldb)</div></div><div class=""><br class=""></div><div class="">Anyone able to point me at either a python pretty printer or solution to this?</div><div class=""><br class=""></div></div></div></blockquote><br class=""></div><div>why is the "std::" missing from the typename ("vector<unsigned int, allocator<unsigned int> >") above? That is why the formatters aren't kicking in.</div><div><br class=""></div><div><br class=""></div></body></html>