forked from crawl/crawl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgdb_tips.txt
29 lines (22 loc) · 919 Bytes
/
gdb_tips.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Pretty-printers for libstdc++
=============================
Follow the instructions at the following URL, and your std::strings
will print like strings, etc.:
http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html
How to make a std::string:
==========================
(From #gdb)
<jankratochvil> SamB:
<jankratochvil> (gdb) p $a=(std::allocator<char>*)malloc(sizeof(std::allocator<char>))
<jankratochvil> (gdb) p $a->allocator()
<jankratochvil> (gdb) p $s=(std::string*)malloc(sizeof(std::string))
<jankratochvil> (gdb) p $s->basic_string("foo",*$a)
<jankratochvil> (gdb) p *$s
<jankratochvil> $20 = "foo"
<jankratochvil> std::string is mostly the only tricky class as it is just an alias name for basic_string....
Again, with just the input:
p $a=(std::allocator<char>*)malloc(sizeof(std::allocator<char>))
p $a->allocator()
p $s=(std::string*)malloc(sizeof(std::string))
p $s->basic_string("foo",*$a)
p *$s