Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
39642 views
1
//===-- ProcessGDBRemoteLog.cpp -------------------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "ProcessGDBRemoteLog.h"
10
#include "ProcessGDBRemote.h"
11
#include "llvm/Support/Threading.h"
12
13
using namespace lldb;
14
using namespace lldb_private;
15
using namespace lldb_private::process_gdb_remote;
16
17
static constexpr Log::Category g_categories[] = {
18
{{"async"}, {"log asynchronous activity"}, GDBRLog::Async},
19
{{"break"}, {"log breakpoints"}, GDBRLog::Breakpoints},
20
{{"comm"}, {"log communication activity"}, GDBRLog::Comm},
21
{{"packets"}, {"log gdb remote packets"}, GDBRLog::Packets},
22
{{"memory"}, {"log memory reads and writes"}, GDBRLog::Memory},
23
{{"data-short"},
24
{"log memory bytes for memory reads and writes for short transactions "
25
"only"},
26
GDBRLog::MemoryDataShort},
27
{{"data-long"},
28
{"log memory bytes for memory reads and writes for all transactions"},
29
GDBRLog::MemoryDataLong},
30
{{"process"}, {"log process events and activities"}, GDBRLog::Process},
31
{{"step"}, {"log step related activities"}, GDBRLog::Step},
32
{{"thread"}, {"log thread events and activities"}, GDBRLog::Thread},
33
{{"watch"}, {"log watchpoint related activities"}, GDBRLog::Watchpoints},
34
};
35
36
static Log::Channel g_channel(g_categories, GDBRLog::Packets);
37
38
template <> Log::Channel &lldb_private::LogChannelFor<GDBRLog>() {
39
return g_channel;
40
}
41
42
void ProcessGDBRemoteLog::Initialize() {
43
static llvm::once_flag g_once_flag;
44
llvm::call_once(g_once_flag, []() {
45
Log::Register("gdb-remote", g_channel);
46
});
47
}
48
49