| 123456789101112131415161718192021222324252627 |
- // Copyright 2018 yuzu emulator team
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #include "common/common_types.h"
- #include "common/logging/log.h"
- #include "core/arm/arm_interface.h"
- #include "core/memory.h"
- namespace Core {
- void ARM_Interface::LogBacktrace() const {
- VAddr fp = GetReg(29);
- VAddr lr = GetReg(30);
- const VAddr sp = GetReg(13);
- const VAddr pc = GetPC();
- LOG_ERROR(Core_ARM, "Backtrace, sp={:016X}, pc={:016X}", sp, pc);
- while (true) {
- LOG_ERROR(Core_ARM, "{:016X}", lr);
- if (!fp) {
- break;
- }
- lr = Memory::Read64(fp + 8) - 4;
- fp = Memory::Read64(fp);
- }
- }
- } // namespace Core
|