LLVM Clang 17, GNU dbg or DAP debugger does not work

CodeLite installation/troubleshooting forum
Radu
CodeLite Curious
Posts: 2
Joined: Mon Nov 20, 2023 11:34 am
Genuine User: Yes
IDE Question: cpp
Contact:

LLVM Clang 17, GNU dbg or DAP debugger does not work

Post by Radu »

What I got:
CodeLite 17.0.0 - Stable released on January 11, 2023

LLVM Clang 17.0.3
https://github.com/llvm/llvm-project/re ... -win64.exe

MSYS2 Clang
https://github.com/msys2/msys2-installe ... 231026.exe
(from MSYS2 ) (and used Windows - CodeLite Documentation )

Code: Select all

pacman -Sy git                                  \
           openssh                              \
           mingw-w64-clang-x86_64-gdb           \
           mingw-w64-clang-x86_64-toolchain     \
           mingw-w64-clang-x86_64-python3       \
           mingw-w64-clang-x86_64-cmake         \
           mingw-w64-clang-x86_64-libffi        \
           mingw-w64-clang-x86_64-jq            \
           mingw-w64-clang-x86_64-libxml2       \
           unzip

Codelite settings:
MakeFile Generator: CodeLite Makefile Generator
Compiler gcc-17.0.2(clang msys64)

Debug Adapter Client:

Code: Select all

Command: E:\CodeLite\LLDB_cpptools-win64\extension\debugAdapters\bin\OpenDebugAD7.exe --server (edit)
E:\CodeLite\compilar\msys64-clang\clang64\bin\lldb-vscode.exe -p 4711
Connection string: tcp://127.0.0.1:4711

If I compile ‘hello world’ example with:
MakeFile Generator: CodeLite Makefile Generator
Compiler: gcc-17.0.2(clang msys64)

Both GNU DBG and Debug Adapter Client work normaly.

Build Output:

Code: Select all

E:/CodeLite/compilar/msys64-clang/clang64/bin/mingw32-make.exe -j16 -e -f  Makefile
"----------Building project:[ test - Debug ]----------"
mingw32-make[1]: Entering directory 'E:/CodeLite/proiecte/test'
E:/CodeLite/compilar/msys64-clang/clang64/bin/g++.exe  -c  "E:/CodeLite/proiecte/test/main.cpp" -gdwarf-2 -fstandalone-debug -O0 -Wall  -o ../build-Debug/test/main.cpp.o -I. -I.
E:/CodeLite/compilar/msys64-clang/clang64/bin/g++.exe -o ..\build-Debug\bin\test.exe @../build-Debug/test/ObjectsList.txt -L.
mingw32-make[1]: Leaving directory 'E:/CodeLite/proiecte/test'
=== build completed successfully (0 errors, 0 warnings) ===

If I compile ‘hello world’ example with:
MakeFile Generator: CodeLite Makefile Generator
Compiler: gcc-17.0.3(clang llvm)

No debugger works.
GNU DGB: nothing happens
Debug Adapter Client: The debug interface that stays for less than half a second
(using DAP: Adding ‘std::system(“pause”);’ the debug interface does not close, Continue does nothing, Stop works, Next does nothing, Pause works and Next works in Assembly. Breakpoints Appear in the list but are not respected)

Build Output:

Code: Select all

E:/CodeLite/compilar/msys64-clang/clang64/bin/mingw32-make.exe -j16 -e -f  Makefile
"----------Building project:[ test - Debug ]----------"
mingw32-make[1]: Entering directory 'E:/CodeLite/proiecte/test'
E:/CodeLite/compilar/LLVM-17.0.3-Clang/bin/clang++.exe  -c  "E:/CodeLite/proiecte/test/main.cpp" -m64 -g -O0 -gdwarf-2 -Wall -fstandalone-debug  -o ../build-Debug/test/main.cpp.o -I. -I.
E:/CodeLite/compilar/LLVM-17.0.3-Clang/bin/clang++.exe -o ..\build-Debug\bin\test.exe @../build-Debug/test/ObjectsList.txt -L.
mingw32-make[1]: Leaving directory 'E:/CodeLite/proiecte/test'
=== build completed successfully (0 errors, 0 warnings) ===

So with msys2 clang/g++ , GNU DBG and DAP works, but not with LLVM Clang.
LLVM Clang does not come with make(or is named something else?) and I use ‘mingw32-make.exe -j16’ from msys2 clang, is this a problem?
Do I need to pass something else to the compiler to make debugger working?

Posted in llvm.org forum too, no solution: https://discourse.llvm.org/t/codelite-a ... er/74478/8