Feb 10, 2021

ClickHouse tips #2: Debugging ClickHouse on Visual Studio Code

How to configure Visual Studio Code to debug ClickHouse on it.
Alberto Romeu
Backend Developer

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!

Do you like this post?

Related posts

Real-time Data Visualization: How to build faster dashboards
A new way to create intermediate Data Sources in Tinybird
Jun 15, 2023
Export data from Tinybird to Amazon S3 with the S3 Sink
Mar 21, 2024
Tinybird: A ksqlDB alternative when stateful stream processing isn't enough
To the limits of SQL... and beyond
Automating data workflows with plaintext files and Git
Chatting GraphQL with Jamie Barton of Grafbase
Apr 24, 2023
What it takes to build a real-time recommendation system
We launched an open source ClickHouse Knowledge Base
Oct 11, 2022
The definition of real-time data

Build fast data products, faster.

Try Tinybird and bring your data sources together and enable engineers to build with data in minutes. No credit card required, free to get started.
Need more? Contact sales for Enterprise support.