LLDB mainline
|
#include "InstrumentationRuntimeTSan.h"
#include "Plugins/Process/Utility/HistoryThread.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginInterface.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Host/StreamFile.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/Variable.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/InstrumentationRuntimeStopInfo.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
#include "lldb/ValueObject/ValueObject.h"
#include <memory>
Go to the source code of this file.
Functions | |
static StructuredData::ArraySP | CreateStackTrace (ValueObjectSP o, const std::string &trace_item_name=".trace") |
static StructuredData::ArraySP | ConvertToStructuredArray (ValueObjectSP return_value_sp, const std::string &items_name, const std::string &count_name, std::function< void(const ValueObjectSP &o, const StructuredData::DictionarySP &dict)> const &callback) |
static std::string | RetrieveString (ValueObjectSP return_value_sp, ProcessSP process_sp, const std::string &expression_path) |
static void | GetRenumberedThreadIds (ProcessSP process_sp, ValueObjectSP data, std::map< uint64_t, user_id_t > &thread_id_map) |
static user_id_t | Renumber (uint64_t id, std::map< uint64_t, user_id_t > &thread_id_map) |
static std::string | Sprintf (const char *format,...) |
static std::string | GetSymbolNameFromAddress (ProcessSP process_sp, addr_t addr) |
static void | GetSymbolDeclarationFromAddress (ProcessSP process_sp, addr_t addr, Declaration &decl) |
static std::string | GenerateThreadName (const std::string &path, StructuredData::Object *o, StructuredData::ObjectSP main_info) |
static void | AddThreadsForPath (const std::string &path, ThreadCollectionSP threads, ProcessSP process_sp, StructuredData::ObjectSP info) |
Variables | |
const char * | thread_sanitizer_retrieve_report_data_prefix |
const char * | thread_sanitizer_retrieve_report_data_command |
|
static |
Definition at line 1020 of file InstrumentationRuntimeTSan.cpp.
References GenerateThreadName(), lldb_private::StructuredData::Object::GetObjectForDotSeparatedPath(), and pc.
Referenced by lldb_private::InstrumentationRuntimeTSan::GetBacktracesFromExtendedStopInfo().
|
static |
Definition at line 227 of file InstrumentationRuntimeTSan.cpp.
Referenced by GetRenumberedThreadIds(), and lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().
|
static |
Definition at line 211 of file InstrumentationRuntimeTSan.cpp.
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().
|
static |
Definition at line 943 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::StructuredData::Object::GetAsDictionary(), lldb_private::StructuredData::Object::GetObjectForDotSeparatedPath(), lldb_private::StructuredData::Dictionary::GetValueForKey(), and Sprintf().
Referenced by AddThreadsForPath().
|
static |
Definition at line 263 of file InstrumentationRuntimeTSan.cpp.
References ConvertToStructuredArray().
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().
|
static |
Definition at line 561 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::Symbol::CalculateSymbolContextModule(), lldb_private::Address::CalculateSymbolContextSymbol(), lldb_private::Mangled::ePreferMangled, lldb_private::Symbol::GetMangled(), lldb_private::Mangled::GetName(), lldb_private::VariableList::GetSize(), and lldb_private::VariableList::GetVariableAtIndex().
Referenced by lldb_private::InstrumentationRuntimeTSan::GetLocationDescription().
Definition at line 547 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::Address::CalculateSymbolContextSymbol(), lldb_private::ConstString::GetCString(), and lldb_private::Symbol::GetName().
Referenced by lldb_private::InstrumentationRuntimeTSan::GenerateSummary(), and lldb_private::InstrumentationRuntimeTSan::GetLocationDescription().
Definition at line 292 of file InstrumentationRuntimeTSan.cpp.
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().
|
static |
Definition at line 250 of file InstrumentationRuntimeTSan.cpp.
References error().
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData(), and lldb_private::InstrumentationRuntimeUBSan::RetrieveReportData().
|
static |
Definition at line 538 of file InstrumentationRuntimeTSan.cpp.
References lldb_private::StreamString::GetString(), and lldb_private::Stream::PrintfVarArg().
Referenced by lldb_private::InstrumentationRuntimeTSan::GenerateSummary(), GenerateThreadName(), and lldb_private::InstrumentationRuntimeTSan::GetLocationDescription().
const char* thread_sanitizer_retrieve_report_data_command |
Definition at line 94 of file InstrumentationRuntimeTSan.cpp.
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().
const char* thread_sanitizer_retrieve_report_data_prefix |
Definition at line 63 of file InstrumentationRuntimeTSan.cpp.
Referenced by lldb_private::InstrumentationRuntimeTSan::RetrieveReportData().