www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - CLion: Debugging on windows with DMD and LLDB

reply Andre Pany <andre s-e-a-p.de> writes:
Hi,
as CLion is now free for hobby projects it is quite interesting 
IDE for me.
I try to get as much as possible working on a barebone CLion 
installation on Windows.

- Syntax highlighting for D is easy due to Textmate Bundle for D
- I registered *.D as as C files in the IDE, this enables me to 
set a breakoint
   in a source code line.

- Syntax check and Code completion is at the moment not 
interesting, Copilot does
   a pretty good job here.

Now the difficult part. CLion comes on Windows with GDB (MinGW 
Toolchain) and
LLDB 9.0 (Visual Studio Toolchain). I assume in theory it should 
be possible
to compile an x64 application with DMD and debug it with LLDB on 
Windows?

Kind regards
André
Oct 09 2025
next sibling parent reply Dejan Lekic <dejan.lekic gmail.com> writes:
On Thursday, 9 October 2025 at 15:45:40 UTC, Andre Pany wrote:
 Hi,
 as CLion is now free for hobby projects it is quite interesting 
 IDE for me.
Why would you do that? CLion, being based on IDEA, can simply have D Language Plugin installed... I use IDEA (Ultimate) for Python, D, Terraform, etc... Plugin page: https://plugins.jetbrains.com/plugin/8115-d-language In case you wonder, it works with the Community Edition as well.
Oct 09 2025
parent Andre <andre s-e-a-p.de> writes:
On Thursday, 9 October 2025 at 16:00:58 UTC, Dejan Lekic wrote:
 On Thursday, 9 October 2025 at 15:45:40 UTC, Andre Pany wrote:
 Hi,
 as CLion is now free for hobby projects it is quite 
 interesting IDE for me.
Why would you do that? CLion, being based on IDEA, can simply have D Language Plugin installed... I use IDEA (Ultimate) for Python, D, Terraform, etc... Plugin page: https://plugins.jetbrains.com/plugin/8115-d-language In case you wonder, it works with the Community Edition as well.
Yes I know the plugin, I created some pull requests for the plugin in the past. The plugin only works for IntelliJ, not for CLion. The maintainers do a great job, but there a some broken parts, including debugging which makes the plugin at this point in time not usable. Therefore if I can customise a stable barebone CLion, which comes with an integrated gcc and lddb debugger, this looks quite interesting for me. Kind regards André
Oct 09 2025
prev sibling parent reply Andre Pany <andre s-e-a-p.de> writes:
On Thursday, 9 October 2025 at 15:45:40 UTC, Andre Pany wrote:
 Hi,
 as CLion is now free for hobby projects it is quite interesting 
 IDE for me.
 I try to get as much as possible working on a barebone CLion 
 installation on Windows.

 - Syntax highlighting for D is easy due to Textmate Bundle for D
 - I registered *.D as as C files in the IDE, this enables me to 
 set a breakoint
   in a source code line.

 - Syntax check and Code completion is at the moment not 
 interesting, Copilot does
   a pretty good job here.

 Now the difficult part. CLion comes on Windows with GDB (MinGW 
 Toolchain) and
 LLDB 9.0 (Visual Studio Toolchain). I assume in theory it 
 should be possible
 to compile an x64 application with DMD and debug it with LLDB 
 on Windows?

 Kind regards
 André
My findings: it works fine by using LDC instead of DMD. The embedded LLDB 9.0 works in limited way. The plugin "lsp4ij" also adds support for Debug Adapter Protocol. Therefore a recent LLDB (lldb-dap) can be used. The next CLion version 2025.3 will also add builtin support for DAP. => On windows after downloading LLVM, debugging will not work out of the box. The python "Windows embeddable package 3.10.10" needs to be downloaded and extracted to the LLVM bin directory. => Breakpoints only working with argument -gc => By using the DAP, *.d extension also not need to be registered as C++ file Kind regards André
Oct 15 2025
parent singingbush <singingbush hotmail.com> writes:
On Wednesday, 15 October 2025 at 18:53:39 UTC, Andre Pany wrote:
 On Thursday, 9 October 2025 at 15:45:40 UTC, Andre Pany wrote:
 Hi,
 as CLion is now free for hobby projects it is quite 
 interesting IDE for me.
 I try to get as much as possible working on a barebone CLion 
 installation on Windows.

 - Syntax highlighting for D is easy due to Textmate Bundle for 
 D
 - I registered *.D as as C files in the IDE, this enables me 
 to set a breakoint
   in a source code line.

 - Syntax check and Code completion is at the moment not 
 interesting, Copilot does
   a pretty good job here.

 Now the difficult part. CLion comes on Windows with GDB (MinGW 
 Toolchain) and
 LLDB 9.0 (Visual Studio Toolchain). I assume in theory it 
 should be possible
 to compile an x64 application with DMD and debug it with LLDB 
 on Windows?

 Kind regards
 André
My findings: it works fine by using LDC instead of DMD. The embedded LLDB 9.0 works in limited way. The plugin "lsp4ij" also adds support for Debug Adapter Protocol. Therefore a recent LLDB (lldb-dap) can be used. The next CLion version 2025.3 will also add builtin support for DAP. => On windows after downloading LLVM, debugging will not work out of the box. The python "Windows embeddable package 3.10.10" needs to be downloaded and extracted to the LLVM bin directory. => Breakpoints only working with argument -gc => By using the DAP, *.d extension also not need to be registered as C++ file Kind regards André
We still aim to fully support CLion at some point. It's just been unfortunate that the Jetbrains platform evolves faster than the plugin has been developed. Jetbrains are overhauling the debugger so [we plan to rip out the current implementation and replace it with integration of native debugger support](https://github.com/intellij-dlanguage/intellij-dlanguage/issues/1207) which has been a desire for quite some time. It makes more sense now as Jetbrains have a unified approach to the IDE's making it, in some ways, easier for use to add features across IDE's as they will depend on specific functionality which is no longer tied to specific IDE's meaning we can potentially support the native debugger without it being CLion specific with a completely different approach for Intellij. Also, now that Jetbrains have made LSP integration part of their platform, work has started to allow users to optionally use Serve-D: https://github.com/orgs/intellij-dlanguage/projects/1 I personally don't want to rely on serve-d for too much, especially as we already have some of the functionality that the lsp provides without the need for an external tool. At the minute the approach is to just make it an (preview feature) option for auto-completion and potentially add individual options for the user to chose which serve-d features are enabled. It's probably a nicer option than relying on users to configure D tools individually but it would be nice to not need external tools at all (personally I only setup the compiler and dub, I don't use dcd, dscanner, or dfmt).
Feb 08