Hi Lup,
This Call Graph solution that you used is very useful!
I used a call graph solution called egypt some time ago to get a
better vision of a legacy project that I should take care, I wrote
down the steps here:
https://acassis.wordpress.com/2020/05/08/creating-call-graph-function-for-c-program-compiled-with-gcc/
But it only generated static call graph images. This solution we found
is way more complete.
Thank you again for another great post!
BR,
Alan
On 3/5/23, Lee, Lup Yuen wrote:
> Last week we ran NuttX on Unicorn Emulator and we hit a baffling Arm64
> Exception. In this article we’ll create some tools to troubleshoot the
> exception…
>
> 1. Render the Dynamic Call Graph for NuttX, to understand how it boots
>
> 2. Make it Clickable, so we can browse the NuttX Source Code as we explore
> the Call Graph
>
> 3. We’ll use a Block Execution Hook in Unicorn Emulator to generate the
> Call Graph with Rust
>
> 4. And call the Rust Libraries addr2line and gimli to map the Code
> Addresses to NuttX Kernel Functions
>
> 5. Thanks to the (Clickable) Call Graph, we’ll describe the complete Boot
> Sequence of NuttX on PinePhone
>
> 6. And explain how we might do Automated Daily Build and Test for NuttX on
> PinePhone
>
> https://lupyuen.github.io/articles/unicorn2
>
> Lup
>