ClickHouse tips #2: Debugging ClickHouse on Visual Studio Code
How to configure Visual Studio Code to debug ClickHouse on it.
![ClickHouse tips #2: Debugging ClickHouse on Visual Studio Code](/content/images/size/w2000/2023/09/6256ee11780cfd7c6c9551b6_62566b5841a6f85846a63809_blogpost-cover-image-42-large-11.jpeg)
It’s possible to debug ClickHouse on VSCode. These are the steps to do it:
- Build ClickHouse for debugging docs
- You can adapt the build with several flags, in my case I want to disable
jemalloc
:
- Doing
ninja clickhouse-server clickhouse-client
the whole process takes less than one hour.
And then to debug with Visual Studio Code:
- Install the C++ extension (and gdb from brew or apt)
- Create a new run config like this in
.vscode
:
Then you can just add breakpoints in any line in the editor and RUN
from inside Visual Studio Code.
After doing any change in a cpp file, you can just recompile it, although there might be better ways to do this (let us know!). There’s a compile_commands.json
file in the build folder with the commands and then call ninja to re-generate the clickhouse binary (it’ll just recompile the dependencies)
That’s it!