![]() |
ATLAS Offline Software
|
Service to print additional information before a crash. More...
#include <CoreDumpSvc.h>
Classes | |
| struct | sysDumpRec |
Public Member Functions | |
| CoreDumpSvc (const std::string &name, ISvcLocator *pSvcLocator) ATLAS_CTORDTOR_NOT_THREAD_SAFE | |
| Constructor with parameters. More... | |
| virtual | ~CoreDumpSvc () ATLAS_CTORDTOR_NOT_THREAD_SAFE |
| Destructor. More... | |
ICoreDumpSvc implementation | |
| virtual void | setCoreDumpInfo (const std::string &name, const std::string &value) override |
| Set a name/value pair in the core dump record. More... | |
| virtual void | setCoreDumpInfo (const EventContext &ctx, const std::string &name, const std::string &value) override |
| Set a name/value pair in the core dump record for given EventContext. More... | |
| virtual std::string | dump () const override |
| Print all core dump records. More... | |
Protected Member Functions | |
| CoreDumpSvc () | |
| Default constructor (do not use) More... | |
Private Member Functions | |
| void propertyHandler | ATLAS_NOT_THREAD_SAFE (Gaudi::Details::PropertyBase &p) |
| Property handler. More... | |
| void print | ATLAS_NOT_THREAD_SAFE () |
| Print core dump records to configured stream. More... | |
| void | setSigInfo (siginfo_t *info) |
| Set pointer to siginfo_t struct. More... | |
| StatusCode installSignalHandler | ATLAS_NOT_THREAD_SAFE () |
| Install signal handlers. More... | |
| StatusCode uninstallSignalHandler | ATLAS_NOT_THREAD_SAFE () |
| Uninstall signal handlers. More... | |
| void | setAltStack () |
| Set up an alternate stack for the current thread. More... | |
Friends | |
| void | CoreDumpSvcHandler::action (int sig, siginfo_t *info, void *extra) |
Gaudi implementation | |
| typedef tbb::concurrent_unordered_map< std::string, std::string > | UserCore_t |
| std::vector< UserCore_t > | m_usrCoreDumps |
| User defined core dump info. More... | |
| std::vector< sysDumpRec > | m_sysCoreDumps |
| Core dump info collected by this service More... | |
| siginfo_t * | m_siginfo {nullptr} |
| Pointer to siginfo_t struct (set by signal handler) More... | |
| std::atomic< EventID::event_number_t > | m_eventCounter {0} |
| Event counter. More... | |
| Gaudi::Property< std::vector< int > > | m_signals |
| Alternate stack for signal handler. More... | |
| Gaudi::Property< bool > | m_callOldHandler |
| Gaudi::Property< bool > | m_dumpCoreFile |
| Gaudi::Property< bool > | m_stackTrace |
| Gaudi::Property< bool > | m_fastStackTrace |
| Gaudi::Property< std::string > | m_coreDumpStream |
| Gaudi::Property< int > | m_fatalHandlerFlags |
| Gaudi::Property< double > | m_timeout |
| Gaudi::Property< bool > | m_killOnSigInt {this, "KillOnSigInt",true, "Terminate job on SIGINT (aka Ctrl-C)"} |
| static thread_local std::vector< uint8_t > | s_stack |
| virtual StatusCode initialize | ATLAS_NOT_THREAD_SAFE () override |
| virtual StatusCode | start () override |
| virtual StatusCode finalize | ATLAS_NOT_THREAD_SAFE () override |
| virtual void | handle (const Incident &incident) override |
| Incident listener. More... | |
Service to print additional information before a crash.
This service will catch fatal signals and print its internal core dump record. The service collects some information during event processing. Additional information can be added via setCoreDumpInfo().
For a list of job option properties see CoreDumpSvc::CoreDumpSvc().
Definition at line 41 of file CoreDumpSvc.h.
|
private |
Definition at line 88 of file CoreDumpSvc.h.
|
protected |
Default constructor (do not use)
| CoreDumpSvc::CoreDumpSvc | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator | ||
| ) |
|
virtual |
Destructor.
Definition at line 255 of file CoreDumpSvc.cxx.
|
private |
Print core dump records to configured stream.
|
private |
Install signal handlers.
|
private |
Uninstall signal handlers.
|
overridevirtual |
|
overridevirtual |
|
private |
Property handler.
|
overridevirtual |
Print all core dump records.
Definition at line 393 of file CoreDumpSvc.cxx.
|
overridevirtual |
|
private |
|
overridevirtual |
Set a name/value pair in the core dump record for given EventContext.
Definition at line 370 of file CoreDumpSvc.cxx.
|
overridevirtual |
Set a name/value pair in the core dump record.
Definition at line 365 of file CoreDumpSvc.cxx.
|
inlineprivate |
Set pointer to siginfo_t struct.
Definition at line 136 of file CoreDumpSvc.h.
|
overridevirtual |
Definition at line 338 of file CoreDumpSvc.cxx.
|
friend |
|
private |
Definition at line 101 of file CoreDumpSvc.h.
|
private |
Definition at line 113 of file CoreDumpSvc.h.
|
private |
Definition at line 104 of file CoreDumpSvc.h.
|
private |
Event counter.
Definition at line 92 of file CoreDumpSvc.h.
|
private |
Definition at line 110 of file CoreDumpSvc.h.
|
private |
Definition at line 116 of file CoreDumpSvc.h.
|
private |
Definition at line 124 of file CoreDumpSvc.h.
|
private |
Pointer to siginfo_t struct (set by signal handler)
Definition at line 91 of file CoreDumpSvc.h.
|
private |
Alternate stack for signal handler.
Properties
Definition at line 98 of file CoreDumpSvc.h.
|
private |
Definition at line 107 of file CoreDumpSvc.h.
|
private |
Core dump info collected by this service
Definition at line 90 of file CoreDumpSvc.h.
|
private |
Definition at line 120 of file CoreDumpSvc.h.
|
private |
User defined core dump info.
Definition at line 89 of file CoreDumpSvc.h.
|
staticprivate |
Definition at line 94 of file CoreDumpSvc.h.
1.8.18