diff options
Diffstat (limited to 'contrib/llvm-project/lldb/source/Utility/LLDBLog.cpp')
-rw-r--r-- | contrib/llvm-project/lldb/source/Utility/LLDBLog.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/source/Utility/LLDBLog.cpp b/contrib/llvm-project/lldb/source/Utility/LLDBLog.cpp new file mode 100644 index 000000000000..b193bd4eb07d --- /dev/null +++ b/contrib/llvm-project/lldb/source/Utility/LLDBLog.cpp @@ -0,0 +1,83 @@ +//===-- LLDBLog.cpp -------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "lldb/Utility/LLDBLog.h" +#include "lldb/Utility/Log.h" +#include "llvm/ADT/ArrayRef.h" +#include <cstdarg> + +using namespace lldb_private; + +static constexpr Log::Category g_categories[] = { + {{"api"}, {"log API calls and return values"}, LLDBLog::API}, + {{"ast"}, {"log AST"}, LLDBLog::AST}, + {{"break"}, {"log breakpoints"}, LLDBLog::Breakpoints}, + {{"commands"}, {"log command argument parsing"}, LLDBLog::Commands}, + {{"comm"}, {"log communication activities"}, LLDBLog::Communication}, + {{"conn"}, {"log connection details"}, LLDBLog::Connection}, + {{"demangle"}, + {"log mangled names to catch demangler crashes"}, + LLDBLog::Demangle}, + {{"dyld"}, + {"log shared library related activities"}, + LLDBLog::DynamicLoader}, + {{"event"}, + {"log broadcaster, listener and event queue activities"}, + LLDBLog::Events}, + {{"expr"}, {"log expressions"}, LLDBLog::Expressions}, + {{"formatters"}, + {"log data formatters related activities"}, + LLDBLog::DataFormatters}, + {{"host"}, {"log host activities"}, LLDBLog::Host}, + {{"jit"}, {"log JIT events in the target"}, LLDBLog::JITLoader}, + {{"language"}, {"log language runtime events"}, LLDBLog::Language}, + {{"mmap"}, {"log mmap related activities"}, LLDBLog::MMap}, + {{"module"}, + {"log module activities such as when modules are created, destroyed, " + "replaced, and more"}, + LLDBLog::Modules}, + {{"object"}, + {"log object construction/destruction for important objects"}, + LLDBLog::Object}, + {{"os"}, {"log OperatingSystem plugin related activities"}, LLDBLog::OS}, + {{"platform"}, {"log platform events and activities"}, LLDBLog::Platform}, + {{"process"}, {"log process events and activities"}, LLDBLog::Process}, + {{"script"}, {"log events about the script interpreter"}, LLDBLog::Script}, + {{"state"}, + {"log private and public process state changes"}, + LLDBLog::State}, + {{"step"}, {"log step related activities"}, LLDBLog::Step}, + {{"symbol"}, {"log symbol related issues and warnings"}, LLDBLog::Symbols}, + {{"system-runtime"}, {"log system runtime events"}, LLDBLog::SystemRuntime}, + {{"target"}, {"log target events and activities"}, LLDBLog::Target}, + {{"temp"}, {"log internal temporary debug messages"}, LLDBLog::Temporary}, + {{"thread"}, {"log thread events and activities"}, LLDBLog::Thread}, + {{"types"}, {"log type system related activities"}, LLDBLog::Types}, + {{"unwind"}, {"log stack unwind activities"}, LLDBLog::Unwind}, + {{"watch"}, {"log watchpoint related activities"}, LLDBLog::Watchpoints}, + {{"on-demand"}, + {"log symbol on-demand related activities"}, + LLDBLog::OnDemand}, + {{"source"}, {"log source related activities"}, LLDBLog::Source}, +}; + +static Log::Channel g_log_channel(g_categories, + LLDBLog::Process | LLDBLog::Thread | + LLDBLog::DynamicLoader | + LLDBLog::Breakpoints | + LLDBLog::Watchpoints | LLDBLog::Step | + LLDBLog::State | LLDBLog::Symbols | + LLDBLog::Target | LLDBLog::Commands); + +template <> Log::Channel &lldb_private::LogChannelFor<LLDBLog>() { + return g_log_channel; +} + +void lldb_private::InitializeLldbChannel() { + Log::Register("lldb", g_log_channel); +} |