summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@mongodb.com>2015-12-17 18:50:31 -0500
committerRamon Fernandez <ramon@mongodb.com>2016-01-29 13:34:31 -0500
commitf6fea15f85d78ac71cb8953267341e1500ea2edc (patch)
tree14e846e9d540ad5d2692711dd86489c323d07b93
parentcfd2f027d979ebb8cb4abdbaee51386df43febf5 (diff)
downloadmongo-f6fea15f85d78ac71cb8953267341e1500ea2edc.tar.gz
SERVER-21960 Include symbol name in stacktrace json when available.
(cherry picked from commit da0c2e704aa0edc8830669865b984d8db861e01e)
-rw-r--r--src/mongo/util/stacktrace_posix.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp
index 230621a6103..17d33f8c3f5 100644
--- a/src/mongo/util/stacktrace_posix.cpp
+++ b/src/mongo/util/stacktrace_posix.cpp
@@ -204,7 +204,11 @@ void printStackTrace(std::ostream& os) {
const uintptr_t fileOffset = uintptr_t(addresses[i]) - uintptr_t(dlinfo.dli_fbase);
if (i)
os << ',';
- os << "{\"b\":\"" << uintptr_t(dlinfo.dli_fbase) << "\",\"o\":\"" << fileOffset << "\"}";
+ os << "{\"b\":\"" << uintptr_t(dlinfo.dli_fbase) << "\",\"o\":\"" << fileOffset;
+ if (dlinfo.dli_sname) {
+ os << "\",\"s\":\"" << dlinfo.dli_sname;
+ }
+ os << "\"}";
}
os << ']';