In most of the time during debugging session I am unable to evaluate and print values of a certain variable. Sometimes my debugger freezes for long time, sometime i get a segmentation faults.
For example if I execute following on a QualType variable I get a segmentation fault.
(gdb) p FnRetType.getAsString()
line 1: 39759 Segmentation fault: 11 ggdb /Users/thejaka/development/crest/pxc/llvm/350/Debug+Asserts/bin/clang++
So my question is, what are the techniques you use to effectively debug clang ? and how can I overcome crashes like above ?
In most of the time during debugging session I am unable to evaluate and
print values of a certain variable. Sometimes my debugger freezes for long
time, sometime i get a segmentation faults.
For example if I execute following on a QualType variable I get a
segmentation fault.
(gdb) p FnRetType.getAsString()
line 1: 39759 Segmentation fault: 11 ggdb
/Users/thejaka/development/crest/pxc/llvm/350/Debug+Asserts/bin/clang++
So my question is, what are the techniques you use to effectively debug
clang ? and how can I overcome crashes like above ?
I debug Clang and LLVM on Linux using gdb all the time. Which version of
gdb are you using?
What compiler do you use to build clang? Older versions of GDB (7.2,
7.4) had problems understanding objects (or the debug info) created by
GCC 4.8 and higher (typical symptom: none of the local variables were
visible to the debugger).
GDB 7.7 (on Linux) seems to be better, but I switched to the latest
gdb 7.8 anyway, built from sources.