boozook / playdate

Playdate Build Tools and API
https://mastodon.gamedev.place/@pd
MIT License
133 stars 8 forks source link

Fix crashlog-symbolizer register decoder #394

Closed boozook closed 2 months ago

boozook commented 2 months ago

New human-readable output format:

Crash at 2024/06/22 05:10:05
  BUILD:   216ce27b-2.5.0-release.169289-buildbot
  HEAP:    78912
  General-purpose registers (stack)
  0:       0x240f0074: ??
  1:       0x0133d8: ??
  2:       0x000000: ??
  3:       0x90001335: ??
  12:      0x000001:
        selfrel_offset31 (0x1 - 0x13)
  14 LR:   0x240534d5:
        pd_loadPDX (0x2405323c - 0x2405374c) [hw:1]
          at playdate.c:1034 (0x2405323c - ??) [hw:604320316]
          ?? (0x240534d5 - ??)
            at playdate.c:1213 (0x240534d2 - ??) [hw:1]
            at playdate.c:1215 (0x240534d4 - ??) [hw:1]
  15 PC:   0x6000d5e8:
        __rust_alloc (0xd5d4 - 0xd5fc)
          at allocator.rs:23 (0xd5e6 - 0xd5f2)
  Special registers
  MMFAR:   0x0133d8: ??
  BFAR:    0x0133d8: ??
  rcccsr:  0x000000: ??
  CFSR:     0b000000000000000000000010000010 (Configurable Fault Status)
    MMFSR:  0b000000000000000000000010000010 (MemManage Fault Status Register)
       DACCVIOL: Data access violation.
                 The processor attempted a load or store at a location that does not permit the operation.
                 Faulting instruction: see `PC`.
                 Address of the attempted access: see `MMFAR`.