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!