diff options
| author | Dan Engelbrecht <[email protected]> | 2025-02-25 15:48:43 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-02-25 15:48:43 +0100 |
| commit | 5bc5b0dd59c0f02afe553e5074dfe57951b19044 (patch) | |
| tree | 625d46a9ef656cd6dd5f2879182f686b0299f44b /src/zenutil/logging.cpp | |
| parent | 5.5.18 (diff) | |
| download | zen-5bc5b0dd59c0f02afe553e5074dfe57951b19044.tar.xz zen-5bc5b0dd59c0f02afe553e5074dfe57951b19044.zip | |
improvements and infrastructure for upcoming builds api command line (#284)
* add modification tick to filesystem traversal
* add ShowDetails option to ProgressBar
* log callstack if we terminate process
* handle chunking if MaxSize > 1MB
* BasicFile write helpers and WriteToTempFile simplifications
* bugfix for CompositeBuffer::IterateRange when using DecompressToComposite for actually comrpessed data
revert of earlier optimization
* faster compress/decompress for large disk-based files
* enable progress feedback in IoHash::HashBuffer
* add payload validation in HttpClient::Get
* fix range requests (range is including end byte)
* remove BuildPartId for blob/block related operations in builds api
Diffstat (limited to 'src/zenutil/logging.cpp')
| -rw-r--r-- | src/zenutil/logging.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/zenutil/logging.cpp b/src/zenutil/logging.cpp index 6314c407f..0444fa2c4 100644 --- a/src/zenutil/logging.cpp +++ b/src/zenutil/logging.cpp @@ -10,6 +10,7 @@ ZEN_THIRD_PARTY_INCLUDES_START #include <spdlog/spdlog.h> ZEN_THIRD_PARTY_INCLUDES_END +#include <zencore/callstack.h> #include <zencore/compactbinary.h> #include <zencore/filesystem.h> #include <zencore/logging.h> @@ -97,7 +98,13 @@ BeginInitializeLogging(const LoggingOptions& LogOptions) } } - std::set_terminate([]() { ZEN_CRITICAL("Program exited abnormally via std::terminate()"); }); + std::set_terminate([]() { + void* Frames[8]; + uint32_t FrameCount = GetCallstack(2, 8, Frames); + CallstackFrames* Callstack = CreateCallstack(FrameCount, Frames); + ZEN_CRITICAL("Program exited abnormally via std::terminate()\n{}", CallstackToString(Callstack, " ")); + FreeCallstack(Callstack); + }); // Default |