From 82bf055ecad08bd1c3f5b041888461db5c2da79a Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sat, 29 Jun 2019 17:15:48 -0400 Subject: reporter: Add log output for packaged lm log data Takes the vector from head to tail of log data and saves it. --- src/core/reporter.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/core/reporter.h') diff --git a/src/core/reporter.h b/src/core/reporter.h index f08aa11fb..6e51113fd 100644 --- a/src/core/reporter.h +++ b/src/core/reporter.h @@ -20,6 +20,10 @@ namespace Service::FileSystem { enum class LogMode : u32; } +namespace Service::LM { +struct LogMessage; +} // namespace Service::LM + namespace Core { class System; @@ -29,18 +33,22 @@ public: explicit Reporter(System& system); ~Reporter(); + // Used by fatal services void SaveCrashReport(u64 title_id, ResultCode result, u64 set_flags, u64 entry_point, u64 sp, u64 pc, u64 pstate, u64 afsr0, u64 afsr1, u64 esr, u64 far, const std::array& registers, const std::array& backtrace, u32 backtrace_size, const std::string& arch, u32 unk10) const; + // Used by syscall svcBreak void SaveSvcBreakReport(u32 type, bool signal_debugger, u64 info1, u64 info2, std::optional> resolved_buffer = {}) const; + // Used by HLE service handler void SaveUnimplementedFunctionReport(Kernel::HLERequestContext& ctx, u32 command_id, const std::string& name, const std::string& service_name) const; + // Used by stub applet implementation void SaveUnimplementedAppletReport(u32 applet_id, u32 common_args_version, u32 library_version, u32 theme_color, bool startup_sound, u64 system_tick, std::vector> normal_channel, @@ -51,10 +59,14 @@ public: New, System, }; + // Used by prepo services + void SavePlayReport(u64 title_id, u64 process_id, std::vector> data, + std::optional user_id = {}) const; void SavePlayReport(PlayReportType type, u64 title_id, std::vector> data, std::optional process_id = {}, std::optional user_id = {}) const; + // Used by error applet void SaveErrorReport(u64 title_id, ResultCode result, std::optional custom_text_main = {}, std::optional custom_text_detail = {}) const; @@ -62,6 +74,11 @@ public: void SaveFilesystemAccessReport(Service::FileSystem::LogMode log_mode, std::string log_message) const; + // Used by lm services + void SaveLogReport(u32 destination, std::vector messages) const; + + // Can be used anywhere to generate a backtrace and general info report at any point during + // execution. Not intended to be used for anything other than debugging or testing. void SaveUserReport() const; private: -- cgit v1.2.3 From 6212df3beb38d0484b6ceedad18be99f107f7d96 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sun, 22 Sep 2019 12:28:21 -0400 Subject: lm: Flush manager output on core shutdown --- src/core/reporter.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'src/core/reporter.h') diff --git a/src/core/reporter.h b/src/core/reporter.h index 6e51113fd..380941b1b 100644 --- a/src/core/reporter.h +++ b/src/core/reporter.h @@ -59,9 +59,6 @@ public: New, System, }; - // Used by prepo services - void SavePlayReport(u64 title_id, u64 process_id, std::vector> data, - std::optional user_id = {}) const; void SavePlayReport(PlayReportType type, u64 title_id, std::vector> data, std::optional process_id = {}, std::optional user_id = {}) const; -- cgit v1.2.3