| Crates.io | firedbg-stream-indexer |
| lib.rs | firedbg-stream-indexer |
| version | 1.74.0 |
| created_at | 2023-12-11 08:09:48.652502+00 |
| updated_at | 2023-12-11 08:09:48.652502+00 |
| description | FireDBG Event Indexer |
| homepage | https://firedbg.sea-ql.org |
| repository | https://github.com/SeaQL/FireDBG.for.Rust |
| max_upload_size | |
| id | 1064835 |
| size | 131,173 |
firedbg-stream-indexer is a streaming indexer. It can stream events from .firedbg.ss files, index them in real-time, and write updates to .sqlite incrementally.
There are 4 event types:
| Event Code | Event Type | Description |
|---|---|---|
B |
Breakpoint | e.g. a breakpoint hit by fire::dbg! |
P |
Panic | Program panic |
F |
Function Call | - |
R |
Function Return | - |
The indexer reconstructs the call stack for each thread from the event stream, and write a parent_frame_id for each F event.
The indexer also deserializes the value blobs and translates them into JSON. The JSON is then transformed into pretty-printed Rust-like value strings:
Value Blob -> RValue -> Lifted RValue -> Pretty Print
The database schema can be found under indexer/src/entity/, which is defined by a set of SeaORM entities.
Highly recommend you to install a SQLite extension for VS Code. You can find some sample indexes in the Testbench.