LogChannelDWARF.h revision 296417
1//===-- LogChannelDWARF.h ---------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef SymbolFileDWARF_LogChannelDWARF_h_ 11#define SymbolFileDWARF_LogChannelDWARF_h_ 12 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "lldb/Core/Log.h" 18 19#define DWARF_LOG_VERBOSE (1u << 0) 20#define DWARF_LOG_DEBUG_INFO (1u << 1) 21#define DWARF_LOG_DEBUG_LINE (1u << 2) 22#define DWARF_LOG_DEBUG_PUBNAMES (1u << 3) 23#define DWARF_LOG_DEBUG_PUBTYPES (1u << 4) 24#define DWARF_LOG_DEBUG_ARANGES (1u << 5) 25#define DWARF_LOG_LOOKUPS (1u << 6) 26#define DWARF_LOG_TYPE_COMPLETION (1u << 7) 27#define DWARF_LOG_DEBUG_MAP (1u << 8) 28#define DWARF_LOG_ALL (UINT32_MAX) 29#define DWARF_LOG_DEFAULT (DWARF_LOG_DEBUG_INFO) 30 31class LogChannelDWARF : public lldb_private::LogChannel 32{ 33public: 34 LogChannelDWARF (); 35 36 ~LogChannelDWARF() override; 37 38 static void 39 Initialize(); 40 41 static void 42 Terminate(); 43 44 static lldb_private::ConstString 45 GetPluginNameStatic(); 46 47 static const char * 48 GetPluginDescriptionStatic(); 49 50 static lldb_private::LogChannel * 51 CreateInstance (); 52 53 lldb_private::ConstString 54 GetPluginName() override; 55 56 uint32_t 57 GetPluginVersion() override; 58 59 void 60 Disable(const char** categories, lldb_private::Stream *feedback_strm) override; 61 62 void 63 Delete (); 64 65 bool 66 Enable(lldb::StreamSP &log_stream_sp, 67 uint32_t log_options, 68 lldb_private::Stream *feedback_strm, // Feedback stream for argument errors etc 69 const char **categories) override; // The categories to enable within this logging stream, if empty, enable default set 70 71 void 72 ListCategories(lldb_private::Stream *strm) override; 73 74 static lldb_private::Log * 75 GetLog (); 76 77 static lldb_private::Log * 78 GetLogIfAll (uint32_t mask); 79 80 static lldb_private::Log * 81 GetLogIfAny (uint32_t mask); 82 83 static void 84 LogIf (uint32_t mask, const char *format, ...); 85}; 86 87#endif // SymbolFileDWARF_LogChannelDWARF_h_ 88