| LLDB mainline
    | 
#include <InstrumentationRuntimeTSan.h>
| Public Member Functions | |
| ~InstrumentationRuntimeTSan () override | |
| llvm::StringRef | GetPluginName () override | 
| virtual lldb::InstrumentationRuntimeType | GetType () | 
| lldb::ThreadCollectionSP | GetBacktracesFromExtendedStopInfo (StructuredData::ObjectSP info) override | 
| Public Member Functions inherited from lldb_private::InstrumentationRuntime | |
| void | ModulesDidLoad (lldb_private::ModuleList &module_list) | 
| Look for the instrumentation runtime in module_list. | |
| bool | IsActive () const | 
| Public Member Functions inherited from lldb_private::PluginInterface | |
| PluginInterface ()=default | |
| virtual | ~PluginInterface ()=default | 
| PluginInterface (const PluginInterface &)=delete | |
| PluginInterface & | operator= (const PluginInterface &)=delete | 
| Static Public Member Functions | |
| static lldb::InstrumentationRuntimeSP | CreateInstance (const lldb::ProcessSP &process_sp) | 
| static void | Initialize () | 
| static void | Terminate () | 
| static llvm::StringRef | GetPluginNameStatic () | 
| static lldb::InstrumentationRuntimeType | GetTypeStatic () | 
| Static Public Member Functions inherited from lldb_private::InstrumentationRuntime | |
| static void | ModulesDidLoad (lldb_private::ModuleList &module_list, Process *process, InstrumentationRuntimeCollection &runtimes) | 
| Private Member Functions | |
| InstrumentationRuntimeTSan (const lldb::ProcessSP &process_sp) | |
| const RegularExpression & | GetPatternForRuntimeLibrary () override | 
| Return a regular expression which can be used to identify a valid version of the runtime library. | |
| bool | CheckIfRuntimeIsValid (const lldb::ModuleSP module_sp) override | 
| Check whether module_spcorresponds to a valid runtime library. | |
| void | Activate () override | 
| Register a breakpoint in the runtime library and perform any other necessary initialization. | |
| void | Deactivate () | 
| StructuredData::ObjectSP | RetrieveReportData (ExecutionContextRef exe_ctx_ref) | 
| std::string | FormatDescription (StructuredData::ObjectSP report) | 
| std::string | GenerateSummary (StructuredData::ObjectSP report) | 
| lldb::addr_t | GetMainRacyAddress (StructuredData::ObjectSP report) | 
| std::string | GetLocationDescription (StructuredData::ObjectSP report, lldb::addr_t &global_addr, std::string &global_name, std::string &filename, uint32_t &line) | 
| lldb::addr_t | GetFirstNonInternalFramePc (StructuredData::ObjectSP trace, bool skip_one_frame=false) | 
| Static Private Member Functions | |
| static bool | NotifyBreakpointHit (void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id) | 
| Additional Inherited Members | |
| Protected Member Functions inherited from lldb_private::InstrumentationRuntime | |
| InstrumentationRuntime (const lldb::ProcessSP &process_sp) | |
| lldb::ProcessSP | GetProcessSP () | 
| lldb::ModuleSP | GetRuntimeModuleSP () | 
| void | SetRuntimeModuleSP (lldb::ModuleSP module_sp) | 
| lldb::user_id_t | GetBreakpointID () const | 
| void | SetBreakpointID (lldb::user_id_t ID) | 
| void | SetActive (bool IsActive) | 
Definition at line 19 of file InstrumentationRuntimeTSan.h.
| 
 | override | 
Definition at line 61 of file InstrumentationRuntimeTSan.cpp.
References Deactivate().
| 
 | inlineprivate | 
Definition at line 42 of file InstrumentationRuntimeTSan.h.
References lldb_private::InstrumentationRuntime::InstrumentationRuntime().
Referenced by CreateInstance(), and NotifyBreakpointHit().
| 
 | overrideprivatevirtual | 
Register a breakpoint in the runtime library and perform any other necessary initialization.
The runtime library is guaranteed to be loaded.
Implements lldb_private::InstrumentationRuntime.
Definition at line 892 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::Target::CreateBreakpoint(), lldb::eSymbolTypeCode, lldb_private::Symbol::GetAddressRef(), lldb_private::Stoppoint::GetID(), lldb_private::Address::GetOpcodeLoadAddress(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::InstrumentationRuntime::GetRuntimeModuleSP(), lldb_private::Breakpoint::GetTarget(), lldb_private::InstrumentationRuntime::IsActive(), lldb_private::Address::IsValid(), LLDB_INVALID_ADDRESS, NotifyBreakpointHit(), lldb_private::InstrumentationRuntime::SetActive(), lldb_private::InstrumentationRuntime::SetBreakpointID(), lldb_private::Breakpoint::SetBreakpointKind(), lldb_private::Breakpoint::SetCallback(), and lldb_private::Symbol::ValueIsAddress().
| 
 | overrideprivatevirtual | 
Check whether module_sp corresponds to a valid runtime library. 
Implements lldb_private::InstrumentationRuntime.
Definition at line 884 of file InstrumentationRuntimeTSan.cpp.
References lldb::eSymbolTypeAny.
| 
 | static | 
Definition at line 43 of file InstrumentationRuntimeTSan.cpp.
References InstrumentationRuntimeTSan().
Referenced by Initialize(), and Terminate().
| 
 | private | 
Definition at line 931 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::InstrumentationRuntime::GetBreakpointID(), lldb_private::InstrumentationRuntime::GetProcessSP(), LLDB_INVALID_BREAK_ID, lldb_private::InstrumentationRuntime::SetActive(), and lldb_private::InstrumentationRuntime::SetBreakpointID().
Referenced by ~InstrumentationRuntimeTSan().
| 
 | private | 
Definition at line 494 of file InstrumentationRuntimeTSan.cpp.
Referenced by NotifyBreakpointHit().
| 
 | private | 
Definition at line 614 of file InstrumentationRuntimeTSan.cpp.
References GetFirstNonInternalFramePc(), lldb_private::InstrumentationRuntime::GetProcessSP(), GetSymbolNameFromAddress(), pc, and Sprintf().
Referenced by NotifyBreakpointHit().
| 
 | overridevirtual | 
Reimplemented from lldb_private::InstrumentationRuntime.
Definition at line 1052 of file InstrumentationRuntimeTSan.cpp.
References AddThreadsForPath(), and lldb_private::InstrumentationRuntime::GetProcessSP().
| 
 | private | 
Definition at line 585 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::StructuredData::Object::GetAsArray(), lldb_private::StructuredData::Array::GetItemAtIndexAsInteger(), lldb_private::Address::GetModule(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::InstrumentationRuntime::GetRuntimeModuleSP(), and lldb_private::StructuredData::Array::GetSize().
Referenced by GenerateSummary().
| 
 | private | 
Definition at line 713 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::Declaration::GetFile(), lldb_private::Declaration::GetLine(), lldb_private::FileSpec::GetPath(), lldb_private::InstrumentationRuntime::GetProcessSP(), GetSymbolDeclarationFromAddress(), GetSymbolNameFromAddress(), and Sprintf().
Referenced by NotifyBreakpointHit().
| 
 | private | 
Definition at line 697 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::StructuredData::Object::GetObjectForDotSeparatedPath().
Referenced by NotifyBreakpointHit().
| 
 | overrideprivatevirtual | 
Return a regular expression which can be used to identify a valid version of the runtime library.
Implements lldb_private::InstrumentationRuntime.
Definition at line 879 of file InstrumentationRuntimeTSan.cpp.
| 
 | inlineoverridevirtual | 
Implements lldb_private::PluginInterface.
Definition at line 34 of file InstrumentationRuntimeTSan.h.
References GetPluginNameStatic().
| 
 | inlinestatic | 
Definition at line 30 of file InstrumentationRuntimeTSan.h.
Referenced by GetPluginName(), and Initialize().
| 
 | inlinevirtual | 
Definition at line 36 of file InstrumentationRuntimeTSan.h.
References GetTypeStatic().
| 
 | static | 
Definition at line 57 of file InstrumentationRuntimeTSan.cpp.
References lldb::eInstrumentationRuntimeTypeThreadSanitizer.
Referenced by GetType(), and Initialize().
| 
 | static | 
Definition at line 47 of file InstrumentationRuntimeTSan.cpp.
References CreateInstance(), GetPluginNameStatic(), GetTypeStatic(), and lldb_private::PluginManager::RegisterPlugin().
| 
 | staticprivate | 
Definition at line 793 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::StoppointCallbackContext::exe_ctx_ref, FormatDescription(), GenerateSummary(), GetLocationDescription(), GetMainRacyAddress(), lldb_private::StructuredData::Object::GetObjectForDotSeparatedPath(), lldb_private::ExecutionContextRef::GetProcessSP(), lldb_private::InstrumentationRuntime::GetProcessSP(), lldb_private::ExecutionContextRef::GetThreadSP(), InstrumentationRuntimeTSan(), and RetrieveReportData().
Referenced by Activate().
| 
 | private | 
Definition at line 301 of file InstrumentationRuntimeTSan.cpp.
References ConvertToStructuredArray(), CreateStackTrace(), DoNoSelectMostRelevantFrame, lldb::eExpressionCompleted, lldb::eLanguageTypeObjC_plus_plus, lldb_private::UserExpression::Evaluate(), lldb_private::InstrumentationRuntime::GetProcessSP(), GetRenumberedThreadIds(), lldb_private::StreamString::GetString(), lldb_private::ExecutionContextRef::GetThreadSP(), Renumber(), lldb_private::Debugger::ReportWarning(), RetrieveString(), lldb_private::EvaluateExpressionOptions::SetAutoApplyFixIts(), lldb_private::EvaluateExpressionOptions::SetIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::SetLanguage(), lldb_private::EvaluateExpressionOptions::SetPrefix(), lldb_private::EvaluateExpressionOptions::SetStopOthers(), lldb_private::EvaluateExpressionOptions::SetTimeout(), lldb_private::EvaluateExpressionOptions::SetTryAllThreads(), lldb_private::EvaluateExpressionOptions::SetUnwindOnError(), thread_sanitizer_retrieve_report_data_command, and thread_sanitizer_retrieve_report_data_prefix.
Referenced by NotifyBreakpointHit().
| 
 | static | 
Definition at line 53 of file InstrumentationRuntimeTSan.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().