Seems like it drives lldb with automation and fills up a database with a dynamic call graph and the data that crosses function call boundaries.

https://firedbg.sea-ql.org/blog/2023-12-11-architecture-of-f...