[llvm-dev] Debugging clang with debugger breakpoints ?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 4 12:43:47 PST 2019


that command:

"/Users/joan/LLVM-9/llvm-project/build/Debug/bin/clang" "-cc1" "-triple"
"msp430" "-emit-llvm" "-disable-free" "-main-file-name" "main.c"
"-mrelocation-model" "static" "-mthread-model" "posix" "-fmath-errno"
"-masm-verbose" "-mconstructor-aliases" "-nostdsysteminc"
"-dwarf-column-info" "-debugger-tuning=gdb" "-target-linker-version" "305"
"-momit-leaf-frame-pointer" "-coverage-notes-file"
"/Users/joan/Documents-Local/Relay/RelayNou/main.gcno" "-resource-dir"
"/Users/joan/LLVM-9/llvm-project/build/Debug/lib/clang/9.0.1"
"-internal-isystem"
"/Users/joan/LLVM-9/llvm-project/build/Debug/bin/../msp430/include" "-Oz"
"-fdebug-compilation-dir" "/Users/joan/Documents-Local/Relay/RelayNou"
"-ferror-limit" "19" "-fmessage-length" "224" "-fobjc-runtime=gcc"
"-fdiagnostics-show-option" "-fcolor-diagnostics" "-vectorize-slp"
"-faddrsig" "-o" "main.ll" "-x" "c" "main.c"

Or wherever you had: -emit-llvm -S -g main.c (or something like that)
You now have:  "-cc1" "-triple" "msp430" "-emit-llvm" "-disable-free"
"-main-file-name" "main.c" "-mrelocation-model" "static" "-mthread-model"
"posix" "-fmath-errno" "-masm-verbose" "-mconstructor-aliases"
"-nostdsysteminc" "-dwarf-column-info" "-debugger-tuning=gdb"
"-target-linker-version" "305" "-momit-leaf-frame-pointer"
"-coverage-notes-file"
"/Users/joan/Documents-Local/Relay/RelayNou/main.gcno" "-resource-dir"
"/Users/joan/LLVM-9/llvm-project/build/Debug/lib/clang/9.0.1"
"-internal-isystem"
"/Users/joan/LLVM-9/llvm-project/build/Debug/bin/../msp430/include" "-Oz"
"-fdebug-compilation-dir" "/Users/joan/Documents-Local/Relay/RelayNou"
"-ferror-limit" "19" "-fmessage-length" "224" "-fobjc-runtime=gcc"
"-fdiagnostics-show-option" "-fcolor-diagnostics" "-vectorize-slp"
"-faddrsig" "-o" "main.ll" "-x" "c" "main.c"


On Mon, Nov 4, 2019 at 12:29 PM Joan Lluch <joan.lluch at icloud.com> wrote:

> Hi David,
>
> Thank you for your help. Please, can you elaborate on this?. The command
> line that I get with -### starts with this:
>
> clang version 9.0.1 (https://github.com/llvm/llvm-project.git
> 6e38ee067b8fa08792f551fb565bbb8ada4864b1)
> Target: msp430
> Thread model: posix
> InstalledDir: /Users/joan/LLVM-9/llvm-project/build/Debug/bin
>  "/Users/joan/LLVM-9/llvm-project/build/Debug/bin/clang" "-cc1" "-triple"
> "msp430" "-emit-llvm" "-disable-free" "-main-file-name" "main.c"
> "-mrelocation-model" "static" "-mthread-model" "posix" "-fmath-errno"
> "-masm-verbose" "-mconstructor-aliases" "-nostdsysteminc"
> "-dwarf-column-info" "-debugger-tuning=gdb" "-target-linker-version" "305"
> "-momit-leaf-frame-pointer" "-coverage-notes-file"
> "/Users/joan/Documents-Local/Relay/RelayNou/main.gcno" "-resource-dir"
> "/Users/joan/LLVM-9/llvm-project/build/Debug/lib/clang/9.0.1"
> "-internal-isystem"
> "/Users/joan/LLVM-9/llvm-project/build/Debug/bin/../msp430/include" "-Oz"
> "-fdebug-compilation-dir" "/Users/joan/Documents-Local/Relay/RelayNou"
> "-ferror-limit" "19" "-fmessage-length" "224" "-fobjc-runtime=gcc"
> "-fdiagnostics-show-option" "-fcolor-diagnostics" "-vectorize-slp"
> "-faddrsig" "-o" "main.ll" "-x" "c" "main.c"
>
> So what should I set on the debugger?
>
> Thanks
>
> John
>
>
>
>
>
>
> On 4 Nov 2019, at 21:03, David Blaikie <dblaikie at gmail.com> wrote:
>
> Run clang with -### to get the underlying command line (the one that has
> the first argument "-cc1") and then run that command under the debugger
> instead.
>
> On Mon, Nov 4, 2019 at 12:02 PM Joan Lluch via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hi All,
>>
>> I want to understand some parts of ‘clang' by setting debug breakpoints.
>>
>> I have successfully done so with “llc” but I found that debugger
>> breakpoints do not work for ‘clang’
>>
>> The apparent cause is that the clang code is run as a child process which
>> is created in the ‘Execute' function of ‘Program.inc'. The debugger stops
>> fine at breakpoints set on the main thread, but breakpoints do not work for
>> any code that is executed as the child process. I am compiling with Xcode
>> in case this makes a difference.
>>
>> Thanks in advance for any help.
>>
>> John
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191104/19a19216/attachment.html>


More information about the llvm-dev mailing list