Loading debuggerd/libdebuggerd/test/tombstone_test.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ #include <stdlib.h> #include <time.h> #include <memory> #include <string> Loading Loading @@ -494,3 +495,10 @@ TEST_F(TombstoneTest, dump_header_info) { expected += android::base::StringPrintf("ABI: '%s'\n", ABI_STRING); ASSERT_STREQ(expected.c_str(), amfd_data_.c_str()); } TEST_F(TombstoneTest, dump_timestamp) { setenv("TZ", "UTC", 1); tzset(); dump_timestamp(&log_, 0); ASSERT_STREQ("Timestamp: 1970-01-01 00:00:00+0000\n", amfd_data_.c_str()); } debuggerd/libdebuggerd/tombstone.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,15 @@ static void dump_header_info(log_t* log) { _LOG(log, logtype::HEADER, "ABI: '%s'\n", ABI_STRING); } static void dump_timestamp(log_t* log, time_t time) { struct tm tm; localtime_r(&time, &tm); char buf[strlen("1970-01-01 00:00:00+0830") + 1]; strftime(buf, sizeof(buf), "%F %T%z", &tm); _LOG(log, logtype::HEADER, "Timestamp: %s\n", buf); } static void dump_probable_cause(log_t* log, const siginfo_t* si, BacktraceMap* map) { std::string cause; if (si->si_signo == SIGSEGV && si->si_code == SEGV_MAPERR) { Loading Loading @@ -654,6 +663,7 @@ void engrave_tombstone(unique_fd output_fd, BacktraceMap* map, Memory* process_m _LOG(&log, logtype::HEADER, "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n"); dump_header_info(&log); dump_timestamp(&log, time(nullptr)); auto it = threads.find(target_thread); if (it == threads.end()) { Loading Loading
debuggerd/libdebuggerd/test/tombstone_test.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ */ #include <stdlib.h> #include <time.h> #include <memory> #include <string> Loading Loading @@ -494,3 +495,10 @@ TEST_F(TombstoneTest, dump_header_info) { expected += android::base::StringPrintf("ABI: '%s'\n", ABI_STRING); ASSERT_STREQ(expected.c_str(), amfd_data_.c_str()); } TEST_F(TombstoneTest, dump_timestamp) { setenv("TZ", "UTC", 1); tzset(); dump_timestamp(&log_, 0); ASSERT_STREQ("Timestamp: 1970-01-01 00:00:00+0000\n", amfd_data_.c_str()); }
debuggerd/libdebuggerd/tombstone.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,15 @@ static void dump_header_info(log_t* log) { _LOG(log, logtype::HEADER, "ABI: '%s'\n", ABI_STRING); } static void dump_timestamp(log_t* log, time_t time) { struct tm tm; localtime_r(&time, &tm); char buf[strlen("1970-01-01 00:00:00+0830") + 1]; strftime(buf, sizeof(buf), "%F %T%z", &tm); _LOG(log, logtype::HEADER, "Timestamp: %s\n", buf); } static void dump_probable_cause(log_t* log, const siginfo_t* si, BacktraceMap* map) { std::string cause; if (si->si_signo == SIGSEGV && si->si_code == SEGV_MAPERR) { Loading Loading @@ -654,6 +663,7 @@ void engrave_tombstone(unique_fd output_fd, BacktraceMap* map, Memory* process_m _LOG(&log, logtype::HEADER, "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n"); dump_header_info(&log); dump_timestamp(&log, time(nullptr)); auto it = threads.find(target_thread); if (it == threads.end()) { Loading