diff options
| author | bunnei <bunneidev@gmail.com> | 2018-12-29 22:58:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-29 22:58:13 -0500 |
| commit | 331c252509aa6c7712d983b388ba3533d3047df1 (patch) | |
| tree | bdffbe558bab81adac706ed7ead2e6b91ed5a394 /src/core/hle | |
| parent | f80229b67671f87d3adcd3bcfc7b1fa14ee1eda3 (diff) | |
| parent | 22d4e106642ac9d6a0dabc700c4dcd47be08ff41 (diff) | |
Merge pull request #1847 from ogniK5377/backtrace-break
Print backtrace on svcBreak
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 3 | ||||
| -rw-r--r-- | src/core/hle/service/fatal/fatal.cpp | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index b955f9839..5fac831ee 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -684,6 +684,9 @@ static void Break(u32 reason, u64 info1, u64 info2) { "Emulated program broke execution! reason=0x{:016X}, info1=0x{:016X}, info2=0x{:016X}", reason, info1, info2); handle_debug_buffer(info1, info2); + Core::System::GetInstance() + .ArmInterface(static_cast<std::size_t>(GetCurrentThread()->GetProcessorID())) + .LogBacktrace(); ASSERT(false); Core::CurrentProcess()->PrepareForTermination(); diff --git a/src/core/hle/service/fatal/fatal.cpp b/src/core/hle/service/fatal/fatal.cpp index 2f15ac2a6..770590d0b 100644 --- a/src/core/hle/service/fatal/fatal.cpp +++ b/src/core/hle/service/fatal/fatal.cpp @@ -111,7 +111,8 @@ static void GenerateErrorReport(ResultCode error_code, const FatalInfo& info) { } static void ThrowFatalError(ResultCode error_code, FatalType fatal_type, const FatalInfo& info) { - LOG_ERROR(Service_Fatal, "Threw fatal error type {}", static_cast<u32>(fatal_type)); + LOG_ERROR(Service_Fatal, "Threw fatal error type {} with error code 0x{:X}", + static_cast<u32>(fatal_type), error_code.raw); switch (fatal_type) { case FatalType::ErrorReportAndScreen: GenerateErrorReport(error_code, info); |
