CrashDump.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 // std
4 #include <cstdint>
5 #include <unordered_map>
6 
7 // project
11 
12 namespace dai {
13 
14 struct CrashDump {
15  struct CrashReport {
17  std::string errorSource;
18  uint32_t crashedThreadId = 0;
19 
20  struct ErrorSourceInfo {
21  struct AssertContext {
22  std::string fileName;
23  std::string functionName;
24  uint32_t line = 0;
26  };
27 
29 
30  struct TrapContext {
31  uint32_t trapNumber = 0;
32  uint32_t trapAddress = 0;
33  std::string trapName;
35  };
36 
38 
39  uint32_t errorId = 0;
40 
42  };
43 
45 
46  struct ThreadCallstack {
47  uint32_t threadId = 0;
48  std::string threadName;
49  std::string threadStatus;
50  uint32_t stackBottom = 0;
51  uint32_t stackTop = 0;
52  uint32_t stackPointer = 0;
53  uint32_t instructionPointer = 0;
54 
56  uint32_t callSite = 0;
57  uint32_t calledTarget = 0;
58  uint32_t framePointer = 0;
59  std::string context;
61  };
62 
63  std::vector<CallstackContext> callStack;
64 
66  };
67 
68  std::vector<ThreadCallstack> threadCallstack;
70  };
71 
72  std::vector<CrashReport> crashReports;
73  std::string depthaiCommitHash;
74  std::string deviceId;
75 
76  nlohmann::json serializeToJson() const {
77  std::vector<std::uint8_t> data;
78  utility::serialize<SerializationType::JSON>(*this, data);
79  return nlohmann::json::parse(data);
80  }
81 };
82 
83 DEPTHAI_SERIALIZE_EXT(CrashDump, crashReports, depthaiCommitHash, deviceId);
84 
85 } // namespace dai
dai::CrashDump::CrashReport::ThreadCallstack::threadId
uint32_t threadId
Definition: CrashDump.hpp:47
dai::CrashDump::CrashReport::errorSource
std::string errorSource
Definition: CrashDump.hpp:17
dai::CrashDump::CrashReport::ThreadCallstack::threadName
std::string threadName
Definition: CrashDump.hpp:48
optional.hpp
dai::DEPTHAI_SERIALIZE_EXT
DEPTHAI_SERIALIZE_EXT(CameraSensorConfig, width, height, minFps, maxFps, fov, type)
dai::CrashDump::CrashReport::ThreadCallstack
Definition: CrashDump.hpp:46
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext::callSite
uint32_t callSite
Definition: CrashDump.hpp:56
dai::CrashDump::CrashReport::crashedThreadId
uint32_t crashedThreadId
Definition: CrashDump.hpp:18
dai::CrashDump::CrashReport::processor
ProcessorType processor
Definition: CrashDump.hpp:16
dai::CrashDump::serializeToJson
nlohmann::json serializeToJson() const
Definition: CrashDump.hpp:76
dai::CrashDump::CrashReport::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(CrashReport, processor, errorSource, crashedThreadId, errorSourceInfo, threadCallstack)
dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext
Definition: CrashDump.hpp:21
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext::context
std::string context
Definition: CrashDump.hpp:59
dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext::fileName
std::string fileName
Definition: CrashDump.hpp:22
dai::CrashDump
Definition: CrashDump.hpp:14
dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext::trapAddress
uint32_t trapAddress
Definition: CrashDump.hpp:32
dai::CrashDump::CrashReport::ThreadCallstack::stackBottom
uint32_t stackBottom
Definition: CrashDump.hpp:50
ProcessorType.hpp
DAI_SPAN_NAMESPACE_NAME::detail::data
constexpr auto data(C &c) -> decltype(c.data())
Definition: span.hpp:177
dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext::trapName
std::string trapName
Definition: CrashDump.hpp:33
dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext::functionName
std::string functionName
Definition: CrashDump.hpp:23
dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(TrapContext, trapNumber, trapAddress, trapName)
dai::CrashDump::CrashReport::ThreadCallstack::stackTop
uint32_t stackTop
Definition: CrashDump.hpp:51
dai::CrashDump::CrashReport::ErrorSourceInfo::trapContext
TrapContext trapContext
Definition: CrashDump.hpp:37
dai::CrashDump::CrashReport::ErrorSourceInfo::assertContext
AssertContext assertContext
Definition: CrashDump.hpp:28
dai::CrashDump::CrashReport::ThreadCallstack::stackPointer
uint32_t stackPointer
Definition: CrashDump.hpp:52
dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(AssertContext, fileName, functionName, line)
dai::CrashDump::CrashReport::ErrorSourceInfo
Definition: CrashDump.hpp:20
Serialization.hpp
dai::CrashDump::CrashReport::threadCallstack
std::vector< ThreadCallstack > threadCallstack
Definition: CrashDump.hpp:68
dai::CrashDump::CrashReport::ThreadCallstack::threadStatus
std::string threadStatus
Definition: CrashDump.hpp:49
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext::calledTarget
uint32_t calledTarget
Definition: CrashDump.hpp:57
dai::CrashDump::CrashReport::ErrorSourceInfo::AssertContext::line
uint32_t line
Definition: CrashDump.hpp:24
dai::CrashDump::CrashReport::ErrorSourceInfo::errorId
uint32_t errorId
Definition: CrashDump.hpp:39
dai::CrashDump::CrashReport::errorSourceInfo
ErrorSourceInfo errorSourceInfo
Definition: CrashDump.hpp:44
dai::CrashDump::CrashReport::ThreadCallstack::instructionPointer
uint32_t instructionPointer
Definition: CrashDump.hpp:53
dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext::trapNumber
uint32_t trapNumber
Definition: CrashDump.hpp:31
dai::CrashDump::CrashReport::ErrorSourceInfo::TrapContext
Definition: CrashDump.hpp:30
dai::CrashDump::CrashReport::ThreadCallstack::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(ThreadCallstack, threadId, threadName, threadStatus, stackBottom, stackTop, stackPointer, instructionPointer, callStack)
dai::CrashDump::CrashReport::ErrorSourceInfo::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(ErrorSourceInfo, assertContext, trapContext, errorId)
dai::CrashDump::CrashReport
Definition: CrashDump.hpp:15
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext
Definition: CrashDump.hpp:55
dai::CrashDump::crashReports
std::vector< CrashReport > crashReports
Definition: CrashDump.hpp:72
dai
Definition: CameraExposureOffset.hpp:6
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext::framePointer
uint32_t framePointer
Definition: CrashDump.hpp:58
dai::CrashDump::CrashReport::ThreadCallstack::CallstackContext::DEPTHAI_SERIALIZE
DEPTHAI_SERIALIZE(CallstackContext, callSite, calledTarget, framePointer, context)
dai::CrashDump::CrashReport::ThreadCallstack::callStack
std::vector< CallstackContext > callStack
Definition: CrashDump.hpp:63
dai::CrashDump::depthaiCommitHash
std::string depthaiCommitHash
Definition: CrashDump.hpp:73
dai::ProcessorType
ProcessorType
Definition: ProcessorType.hpp:12
dai::CrashDump::deviceId
std::string deviceId
Definition: CrashDump.hpp:74


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19