Skip to content

Latest commit

 

History

History
21 lines (11 loc) · 1.06 KB

File metadata and controls

21 lines (11 loc) · 1.06 KB

Debugging tips

First tip: use a debugger, i.e., lldb.

LLDB tips

LLDB cheat sheet

https://github.com/carolanitz/DebuggingFun/blob/master/lldb%20cheat%20sheet.pdf

Display format

When watching a variable, we often need to show it in hex, binary, or decimal. This can easily be done by adding ,h, ,b, or ,d after the variable name. For example, return_addr,h will display return_addr in hex. More information can be found here.

Bf-Tree specific formatters

General purpose debuggers don't understand Bf-Tree's bit-packed layout. To make debugging easier, we maintained our own formatters for several types. They should be automatically loaded if you are using the recommended codelldb plugin and the default settings in .vscode.

Note that the formatter is in Python, meaning that we actually maintained two formatting implementations: one in Rust and one in Python. This means that whenever we update the Rust's layout, we need to update the formatter in Python as well.