5. Sorry you'll have to patch cb yourself to get this working...This one was bugging me as well, but I wasn't excited about patching C::B after each update. So my codeblocks.desktop has this line now:
Exec=env GTK2_RC_FILES=/usr/share/themes/Yukitwo/gtk-2.0/gtkrc GTK_DATA_PREFIX="" codeblocks %FYukitwo is my modified Zukitwo with the following colors:
gtk_color_scheme = "bg_color:#626262\nselected_bg_color:#6699CC\nbase_color:#707070" # Background, base. bg_color was d4d4d4, nselected_bg_color was 6699CCBtw. I think following the global theme is a good default, but not giving a user an "override" checkbox to allow for custom color settings could be a showstopper for many newcomers.
gtk_color_scheme = "fg_color:#dcdccc\nselected_fg_color:#000000\ntext_color:#dcdccc" # Foreground, text.
gtk_color_scheme = "tooltip_bg_color:#000000\ntooltip_fg_color:#F5F5B5" # Tooltips.
gtk_color_scheme = "link_color:#94caff" # #08c Hyperlinks
gtk_color_scheme = "bg_color_dark:#707070\ntext_color_dark:#FFF" # Dark colors. bg_color_dark was 3f3f3f
1. I have just tried removing my 'debugger initialization commands' and unchecking 'disable startup scripts'. As before, this does load the pretty printers, but C::B does not parse the output for 2D vectors correctly (1D vectors are fine)
1. Using the python pretty printers that ship with libstdc++ this is unfixable in the current plugin, sorry.
a) Why don't you bundle a few versions of pretty printers with code::blocks? Perhaps even more, to detect and enable the pretty printer which matches the python/gdb version.The pretty printers bundled with cb are outdated and won't be maintained any more (probably they'll be removed in the future).
2d std::vectors won't work, same is for most nested std structs.
It seems that you partially misunderstood me. Im using pretty printers fromI use the pretty printer from GCC's trunk svn repo, and I don't see the changed format, can you show the changes?
share\gcc-5.1.0\python\libstdcxx\v6
They don't work with C::B because it seems their output format changed recently. Those are the printers by libstdc library developers.
Can you point me to the files in C::B source code which parse the gdb pretty printer output?I've tried, but the format is ambiguous.
Sure. Here it goes:OK, I can confirm the same issue. The watch window shows incorrectly.
vector< vector<double> > vec2D = { {1, 2},{3, 4} ,{5}, {6} };
Debugger name and version: GNU gdb (GDB) 7.9.1
> python print(sys.version)
2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]
> print vec2D
$1 = std::vector of length 4, capacity 4 = {std::vector of length 2, capacity 2 = {1, 2}, std::vector of length 2, capacity 2 = {3, 4}, std::vector of length 1, capacity 1 = {5}, std::vector of length 1, capacity 1 = {6}}
This is not displayed correctly in the watches window.
And, btw, the format is ambiguous. Has anyone tried contacting GDB developers?This format is not mean for parsing by machines. It is mean for humans. So I doubt they'll do anything.
/home/obfuscated/projects/codeblocks/git/src/plugins/debuggergdb/debuggergdb_test_parser.cpp:259: error: Failure in RepeatingChars0: Expected t= {c=0x400d90 'A' <repeats 16 times>, "aa\"a"} but was t= {c=0x400d90 'A' <repeats 16 times>,[1]="aa\"a"}
/home/obfuscated/projects/codeblocks/git/src/plugins/debuggergdb/debuggergdb_test_parser.cpp:266: error: Failure in RepeatingChars1: Expected t= {c=0x400d90 'A' <repeats 16 times>, ' ' <repeats 29 times>, "aabba"} but was t= {c=0x400d90 'A' <repeats 16 times>,[1]=' ' <repeats 29 times>,[2]="aabba"}
/home/obfuscated/projects/codeblocks/git/src/plugins/debuggergdb/debuggergdb_test_parser.cpp:273: error: Failure in RepeatingChars2: Expected t= {c=0x400d90 'A' <repeats 16 times>, ' ' <repeats 29 times>, "aaa",a=5} but was t= {c=0x400d90 'A' <repeats 16 times>,[1]=' ' <repeats 29 times>,[2]="aaa",a=5}
/home/obfuscated/projects/codeblocks/git/src/plugins/debuggergdb/debuggergdb_test_parser.cpp:380: error: Failure in RepeatingChars11: Expected t= {[0]=0x4080d8 "1st",[1]=0x4080dc '.' <repeats 14 times>, "#", '&' <repeats 16 times>,[2]=0x4080fc "3th"} but was t= {[0]=0x4080d8 "1st",[1]=0x4080dc '.' <repeats 14 times>,[2]="#", '&' <repeats 16 times>,[3]=0x4080fc "3th"}
/home/obfuscated/projects/codeblocks/git/src/plugins/debuggergdb/debuggergdb_test_parser.cpp:388: error: Failure in RepeatingChars11_children_count: Expected 3 but was 4
FAILURE: 5 out of 116 tests failed (5 failures).