You should build your sources with
CFLAGS += -g1 -fno-omit-frame-pointer ...
LDFLAGS += -g1 -fno-omit-frame-pointer ... (if you are using LTO)
and then split executables (and libraries) to files with DWARF unwind tables
and files with debug symbols only; for each {executable}:
objcopy --only-keep-debug .../root/{executable} .../root/usr/lib/debug/{executable}.debug
objcopy --strip-debug .../root/{executable}
objcopy --add-gnu-debuglink=.../root/usr/lib/debug/{executable}.debug {executable}
where {executable} is a relative root path to a binary file (/usr/bin/exe for example).
You may not copy /usr/lib/debug to a target rootfs but use it to translate addresses to symbols on a host.
Check also that you built all linked libraries (including libc) with -g1 and -fno-omit-frame-pointer
to get full traces.
If you are using musl for MIPS, make sure you have a patch adding CFI directives to assembler sources.