blob: 284eff400267454718009f41e982b2fdb0327093 [file] [view]
# Debugging C++
Debug C++ is tricky and binary protocol bug is hard to locate without debugging support, but setup
debugging support for bazel project is not easy.
Fury include an out-of-box `launch.json/tasks.json` config in `.vocode` directory for c++ debugging.
Just open the fury root directory in vscode, then open a test file such as `src/fury/row/row_test.cc`,
enter `F5`, then you can debug the c++ code line by line, watch variables, add breakpoints in vscode just like
java/python debugging.
<img src="images/vscode_debug_fury.jpg" alt="Fury Debugging Example" width="50%" height="50%" />
## Notes
- For Macos: Install `CodeLLDB` vscode plugin
- For Linux:
- install gdb for fedora/centos by `sudo yum install -y gdb`
- install gdb for fedora/centos by `sudo apt-get install gdb`
- If debugging doesn't work, please select correct debug/run options:
<img src="images/vscode_select_debug_run.png" alt="select correct debug/run options" width="50%" height="50%" />
- Debug will jump to source files in bazel generated directory, we need to return raw files in source tree
for debugging again: <img src="images/jmp_generate_file.png" alt="jump to generated files" width="50%" height="50%" />