Path: blob/main/contrib/llvm-project/lldb/source/Plugins/InstrumentationRuntime/ASanLibsanitizers/InstrumentationRuntimeASanLibsanitizers.h
39653 views
//===-- InstrumentationRuntimeASanLibsanitizers.h ---------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H9#define LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H1011#include "lldb/Target/InstrumentationRuntime.h"1213class InstrumentationRuntimeASanLibsanitizers14: public lldb_private::InstrumentationRuntime {15public:16~InstrumentationRuntimeASanLibsanitizers() override;1718static lldb::InstrumentationRuntimeSP19CreateInstance(const lldb::ProcessSP &process_sp);2021static void Initialize();2223static void Terminate();2425static llvm::StringRef GetPluginNameStatic() { return "Libsanitizers-ASan"; }2627static lldb::InstrumentationRuntimeType GetTypeStatic();2829llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }3031virtual lldb::InstrumentationRuntimeType GetType() { return GetTypeStatic(); }3233private:34InstrumentationRuntimeASanLibsanitizers(const lldb::ProcessSP &process_sp)35: lldb_private::InstrumentationRuntime(process_sp) {}3637const lldb_private::RegularExpression &GetPatternForRuntimeLibrary() override;3839bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp) override;4041void Activate() override;4243void Deactivate();4445static bool46NotifyBreakpointHit(void *baton,47lldb_private::StoppointCallbackContext *context,48lldb::user_id_t break_id, lldb::user_id_t break_loc_id);49};5051#endif // LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H525354