find_call_path
Traces call paths between two C/C++ functions, showing how one reaches another via function pointers and ISR vectors.
Instructions
USE INSTEAD OF ctx_callgraph(action="trace"). Find call paths between two C/C++ functions via BFS in the libclang call graph — ctx_callgraph cannot follow function-pointer edges or ISR vector registrations.
Use to answer "how does A reach B?" — e.g. tracing how a high-level
event handler eventually calls a low-level driver. Returns up to 5
shortest paths, each with depth (edge count) and chain
(e.g. "main → app_run → modem_init").
For one-sided exploration use find_all_callers_recursive (who reaches
this?) or find_callees_recursive (what does this reach?).
Requires both symbols to be in the index and refs enabled
(fw-context index — refs on by default).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to_name | Yes | Target symbol to find path to. | |
| from_name | Yes | Starting symbol for path search. | |
| max_depth | No | Maximum BFS depth for path search (default 10). | |
| project_root | No | Project root. Auto-detected if omitted. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |