# Tools to help me learn a big codebase

**URL:** <https://discourse.julialang.org/t/tools-to-help-me-learn-a-big-codebase/94855>\
**Category:** Tooling\
**Created:** [February 18, 2023, 10:50pm UTC](https://discourse.julialang.org/t/tools-to-help-me-learn-a-big-codebase/94855 "2023-02-18T22:50:23Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![jar1](https://avatars.discourse-cdn.com/v4/letter/j/c0e974/32.png) [@jar1](https://discourse.julialang.org/u/jar1)\
**Post date:** [February 19, 2023, 5:58am UTC](https://discourse.julialang.org/t/tools-to-help-me-learn-a-big-codebase/94855/3 "2023-02-19T05:58:40Z")

</div>

> [@Way to plot graph of codebase? (i.e. function circles and dependency arrows)](https://discourse.julialang.org/t/way-to-plot-graph-of-codebase-i-e-function-circles-and-dependency-arrows/3450/5):
>
> Yeah, TreeView isn’t quite what you want, but it’s the closest thing I could think of at the time. Maybe just using the functionality in Base.Profile to build the call graph by sampling and visualizing it using [ProfileView](https://github.com/timholy/ProfileView.jl) is closer to what you need. But I was thinking a bit more about how to construct the call graph without sampling. I guess one thing you would need in order to get an actual call graph for a given function call is the ability to ‘dig into’ functions. So given e.g. function f…

---

_[View the full topic](https://discourse.julialang.org/t/tools-to-help-me-learn-a-big-codebase/94855)._
