diff options
Diffstat (limited to 'source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h')
-rw-r--r-- | source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h | 117 |
1 files changed, 45 insertions, 72 deletions
diff --git a/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h b/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h index fe12ab847e76..9fd21c06f30c 100644 --- a/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h +++ b/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h @@ -14,85 +14,58 @@ // C++ Includes // Other libraries and framework includes // Project includes -#include "lldb/lldb-private.h" -#include "lldb/Target/ABI.h" +#include "lldb/Core/StructuredData.h" #include "lldb/Target/InstrumentationRuntime.h" #include "lldb/Target/Process.h" -#include "lldb/Core/StructuredData.h" +#include "lldb/lldb-private.h" namespace lldb_private { - -class AddressSanitizerRuntime : public lldb_private::InstrumentationRuntime -{ + +class AddressSanitizerRuntime : public lldb_private::InstrumentationRuntime { public: - ~AddressSanitizerRuntime() override; - - static lldb::InstrumentationRuntimeSP - CreateInstance (const lldb::ProcessSP &process_sp); - - static void - Initialize(); - - static void - Terminate(); - - static lldb_private::ConstString - GetPluginNameStatic(); - - static lldb::InstrumentationRuntimeType - GetTypeStatic(); - - lldb_private::ConstString - GetPluginName() override - { - return GetPluginNameStatic(); - } - - virtual lldb::InstrumentationRuntimeType - GetType() { return GetTypeStatic(); } - - uint32_t - GetPluginVersion() override - { - return 1; - } - - void - ModulesDidLoad(lldb_private::ModuleList &module_list) override; - - bool - IsActive() override; - + ~AddressSanitizerRuntime() override; + + static lldb::InstrumentationRuntimeSP + CreateInstance(const lldb::ProcessSP &process_sp); + + static void Initialize(); + + static void Terminate(); + + static lldb_private::ConstString GetPluginNameStatic(); + + static lldb::InstrumentationRuntimeType GetTypeStatic(); + + lldb_private::ConstString GetPluginName() override { + return GetPluginNameStatic(); + } + + virtual lldb::InstrumentationRuntimeType GetType() { return GetTypeStatic(); } + + uint32_t GetPluginVersion() override { return 1; } + private: - AddressSanitizerRuntime(const lldb::ProcessSP &process_sp); - - lldb::ProcessSP - GetProcessSP () - { - return m_process_wp.lock(); - } - - void - Activate(); - - void - Deactivate(); - - static bool - NotifyBreakpointHit(void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id); - - StructuredData::ObjectSP - RetrieveReportData(); - - std::string - FormatDescription(StructuredData::ObjectSP report); - - bool m_is_active; - lldb::ModuleSP m_runtime_module; - lldb::ProcessWP m_process_wp; - lldb::user_id_t m_breakpoint_id; + AddressSanitizerRuntime(const lldb::ProcessSP &process_sp) + : lldb_private::InstrumentationRuntime(process_sp) {} + + const RegularExpression &GetPatternForRuntimeLibrary() override; + + bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp) override; + + void Activate() override; + + void Deactivate(); + + static bool NotifyBreakpointHit(void *baton, + StoppointCallbackContext *context, + lldb::user_id_t break_id, + lldb::user_id_t break_loc_id); + + StructuredData::ObjectSP RetrieveReportData(); + + std::string FormatDescription(StructuredData::ObjectSP report); }; - + } // namespace lldb_private #endif // liblldb_AddressSanitizerRuntime_h_ |