[cfe-dev] Effectively Debugging Clang

Csaba Raduly rcsaba at gmail.com
Fri Oct 3 22:57:52 PDT 2014


Oh, so it's clang all the way down :)

Anyway, you could try building GDB 7.8 from source and using that.
I never used lldb so I don't know how it would behave.

Csaba

On Fri, Oct 3, 2014 at 5:59 PM, Amila Jayasekara
<thejaka.amila at gmail.com> wrote:
>
>
> On Thu, Oct 2, 2014 at 5:17 AM, Csaba Raduly <rcsaba at gmail.com> wrote:
>>
>> Hi,
>>
>> What compiler do you use to build clang?
>
>
> Well.. I am using Clang to build clang. Specific version is as follows;
>
> [~]>clang -v
>
> Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
>
> Target: x86_64-apple-darwin13.4.0
>
> Thread model: posix
>
> Thanks
> -Thejaka
>
>>
>> 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.
>>
>> Csaba
>>
>> On Thu, Oct 2, 2014 at 7:10 AM, Amila Jayasekara
>> <thejaka.amila at gmail.com> wrote:
>> > Hi David,
>> >
>> > I am using 7.7.1.
>> >
>> > Thanks
>> > -Thejaka
>> >
>> > On Wed, Oct 1, 2014 at 11:13 AM, David Blaikie <dblaikie at gmail.com>
>> > wrote:
>> >>
>> >>
>> >>
>> >> On Tue, Sep 30, 2014 at 10:34 AM, Amila Jayasekara
>> >> <thejaka.amila at gmail.com> wrote:
>> >>>
>> >>> Hello,
>> >>>
>> >>> I am having a more general question related to debugging clang.
>> >>>
>> >>> I start gdb (in MacOS) as follows;
>> >>>
>> >>> >ggdb clang++
>> >>> ....
>> >>> ....
>> >>> (ggdb) run -cc1 -std=c++11 -stdlib=libc++
>> >>>
>> >>> -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1
>> >>> test1.cpp
>> >>>
>> >>> 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?
>> >>
>> >>>
>> >>>
>> >>> Your feedback is greatly appreciated.
>> >>>
>> >>> Thank you
>> >>> Regards
>> >>> Thejaka Amila
>> >>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> cfe-dev mailing list
>> >>> cfe-dev at cs.uiuc.edu
>> >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>> >>>
>> >>
>> >
>> >
>> > _______________________________________________
>> > cfe-dev mailing list
>> > cfe-dev at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>> >
>>
>>
>>
>> --
>> GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
>> The Tao of math: The numbers you can count are not the real numbers.
>> Life is complex, with real and imaginary parts.
>> "Ok, it boots. Which means it must be bug-free and perfect. " -- Linus
>> Torvalds
>> "People disagree with me. I just ignore them." -- Linus Torvalds
>
>



-- 
GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++
The Tao of math: The numbers you can count are not the real numbers.
Life is complex, with real and imaginary parts.
"Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds
"People disagree with me. I just ignore them." -- Linus Torvalds



More information about the cfe-dev mailing list