Repository navigation
Debugging Tool Addr2line
← Debugging Tools and Commands
GNU addr2line maps machine addresses to function names, source lines, and inline-call chains using the exact matching executable or DWARF artifact.
| Property | Details |
|---|---|
| Supported OS | Windows, Linux, macOS. |
| Install | Install GNU Binutils or use the project pinned MinGW toolchain. |
| Verify | x86_64-w64-mingw32-addr2line --version |
| Primary output | See the workflow below. |
x86_64-w64-mingw32-addr2line is one of the most important tools in this workflow because it turns a sampled machine address into source context using the matching DWARF artifact.
GNU reference: https://sourceware.org/binutils/docs/binutils/addr2line.html
x86_64-w64-mingw32-addr2line \
-a -f -i -C \
-e /path/to/xemu-dwarf.exe \
0x1402d3a7c 0x1402d50fa 0x1401865a1Options:
| Option | Meaning |
|---|---|
-a |
print the input address |
-f |
print function names |
-i |
show inline-call chain |
-C |
demangle C++ names |
-e |
exact executable/debug image to use |
Typical pattern:
0x1402d3a7c
some_function
path/to/source.c:123
With -i, additional function/file/line groups after the first location are inline parents. This is especially important under LTO/O2 where a hot instruction may physically live inside an inlined chain rather than a neat standalone function.
Output such as:
??
??:0
usually means the tool cannot map that address using the supplied debug information. Common causes include:
- wrong executable/DWARF pair;
- stripped/missing debug information;
- incorrect address adjustment;
- address belongs to another module;
- optimizer emitted code without useful line attribution at that point.
Do not guess the source line when symbolization failed.
A raw ETW instruction pointer may be a runtime virtual address after ASLR.
Safe model:
RVA = runtime IP - runtime image base
linked VA = preferred PE image base + RVA
Use the form expected by the selected symbolization method.
Do not subtract the preferred PE base directly from an ASLR runtime address. First establish the runtime image base recorded for that process instance.
For nearest-label maps, our retained tooling works in RVA space and explicitly verifies that the sampled IP belongs to the recorded xemu image range.
Establish whether an input is a runtime virtual address, image-relative virtual address, or linked virtual address before symbolizing it. For ASLR captures, use the runtime image base from that process instance.
??:0 is a failed attribution, not permission to guess. Check artifact pairing, address conversion, module ownership, and retained debug sections.
- Tool name and exact version.
- Source commit/tree and executable SHA-256.
- The complete command or saved profile used.
- Input artifact hashes and the explicitly selected time or address range.
- Raw output plus any derived report; do not retain only a screenshot or conclusion.
- Admission failures, warnings, dropped events, incomplete rows, or unsupported operations.
DSP tooling guide and navigation updated November 2, 2026 for experimental PR #384, source 8f51d237. Capture/replay usage and limits.
The earlier wiki-wide review was published November 1, 2026. Emulator source: b7140848. Reviewed wiki content: 1d2b671. Current status · Release availability · Publication process.
- Home
- Current status
- Stable versus main
- Implemented mechanisms
- Controls and defaults
- Measured results and limits
- Complete change register
- System
- CPU and vCPU
- Memory and DMA
- Graphics / NV2A
- APU and audio
- Timing and timers
- Platform and I/O
- Hardware observations
- Fidelity boundaries
- Methodology
- PGR2 routes
- Debugging lag / hot paths
- Tools and commands
- DSP capture, replay and fuzzing
- HLE readiness and public XISO proof
- Concurrent DSP shadow and OpenAL proof
- DSP HLE operation inventory
- DSP HLE fix examples and testing
- Development
- Upstream shortlist
- Wiki maintenance
- Research / retired work
- Optimization catalog
- Hot-path shortcuts
- Researched experiments
- Unproven proposal directory
- PR lessons
- September26 snapshot
Repository · PRs · Issues