Symbol Resolution with addr2line
When running a LÖVE Potion game, the system might encounter an unrecoverable crash. On the Nintendo 3DS, this will trigger the Arm11 Exceptions screen, which provides important crash details. On the Nintendo Switch, crash data is logged to the microSD card under /atmosphere/logs/crash_reports. In both cases, the most important values to look for are the PC (Program Counter) and LR (Link Register) addresses.
- Nintendo 3DS
- Nintendo Switch
/opt/devkitpro/devkitARM/bin/arm-none-eabi-addr2line -aipfCe arm -e path/to/lovepotion.elf [address_one, ...]
/opt/devkitpro/devkitA64/bin/aarch64-none-elf-addr2line -aipfCe -e path/to/lovepotion.elf [address_one, ...]
Replace [address_one], [address_two], etc., with the actual memory addresses taken from the crash logs. On Nintendo Switch, look for a line similar to (lovepotion.nro + 0xa30498) in the crash report, and use the hex value for addr2line.
Nintendo Wii U crashes can be found under /storage_slc/sys/logs. These are incrementally numbered, with the most recent crash log being the highest number. Most of these crash logs do not require any additional steps, as they contain the backtrace information.