| 302 | } |
| 303 | |
| 304 | void JUTException::showStack(OSContext *context) |
| 305 | { |
| 306 | if (!sConsole) |
| 307 | { |
| 308 | return; |
| 309 | } |
| 310 | |
| 311 | u32 i; |
| 312 | |
| 313 | sConsole->print("-------------------------------- TRACE\n"); |
| 314 | u32 *stackPointer = (u32 *)mStackPointer; |
| 315 | sConsole->print_f("Address: BackChain LR save\n"); |
| 316 | |
| 317 | for (i = 0; (stackPointer != nullptr) && (stackPointer != (u32 *)0xFFFFFFFF) && (i++ < 0x10);) |
| 318 | { |
| 319 | if (i > mTraceSuppress) |
| 320 | { |
| 321 | sConsole->print("Suppress trace.\n"); |
| 322 | return; |
| 323 | } |
| 324 | |
| 325 | sConsole->print_f("%08X: %08X %08X\n", stackPointer, stackPointer[0], stackPointer[1]); |
| 326 | showMapInfo_subroutine(stackPointer[1], false); |
| 327 | JUTConsoleManager::getManager()->drawDirect(true); |
| 328 | waitTime(mPrintWaitTime1); |
| 329 | stackPointer = (u32 *)stackPointer[0]; |
| 330 | } |
| 331 | } |
| 332 | |
| 333 | void JUTException::showMainInfo(u16 error, OSContext *context, u32 dsisr, u32 dar) |
| 334 | { |
nothing calls this directly
no test coverage detected