ClickHouse tips #2: Debugging ClickHouse on Visual Studio Code
How to configure Visual Studio Code to debug ClickHouse on it.
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!