summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-12-30 04:58:13 +0100
committerGitHub <noreply@github.com>2018-12-30 04:58:13 +0100
commit331c252509aa6c7712d983b388ba3533d3047df1 (patch)
treebdffbe558bab81adac706ed7ead2e6b91ed5a394 /src/core/hle
parentMerge pull request #1964 from lioncash/time (diff)
parentMoved log backtrace to arm_interface.cpp. Added printing of error code to fatal (diff)
downloadyuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar.gz
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar.bz2
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar.lz
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar.xz
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.tar.zst
yuzu-331c252509aa6c7712d983b388ba3533d3047df1.zip
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/kernel/svc.cpp3
-rw-r--r--src/core/hle/service/fatal/fatal.cpp3
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);