LLDB  mainline
ProcessKDPLog.h
Go to the documentation of this file.
1 //===-- ProcessKDPLog.h -----------------------------------------*- C++ -*-===//
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 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H
11 
12 #include "lldb/Utility/Log.h"
13 #include "llvm/ADT/BitmaskEnum.h"
14 
15 namespace lldb_private {
16 
17 enum class KDPLog : Log::MaskType {
18  Async = Log::ChannelFlag<0>,
19  Breakpoints = Log::ChannelFlag<1>,
20  Comm = Log::ChannelFlag<2>,
21  MemoryDataLong = Log::ChannelFlag<3>, // Log all memory reads/writes bytes
22  MemoryDataShort = Log::ChannelFlag<4>, // Log short memory reads/writes bytes
23  Memory = Log::ChannelFlag<5>, // Log memory reads/writes calls
24  Packets = Log::ChannelFlag<6>,
25  Process = Log::ChannelFlag<7>,
26  Step = Log::ChannelFlag<8>,
27  Thread = Log::ChannelFlag<9>,
28  Watchpoints = Log::ChannelFlag<10>,
30 };
32 
34 public:
35  static void Initialize();
36 };
37 
38 template <> Log::Channel &LogChannelFor<KDPLog>();
39 }
40 
41 #endif // LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H
lldb_private::Process
Definition: Process.h:338
lldb_private::KDPLog::Breakpoints
@ Breakpoints
Log.h
lldb_private::Thread
Definition: Thread.h:61
lldb_private::KDPLog
KDPLog
Definition: ProcessKDPLog.h:17
lldb_private::LLDBLog::LLVM_MARK_AS_BITMASK_ENUM
@ LLVM_MARK_AS_BITMASK_ENUM
lldb_private::ProcessKDPLog
Definition: ProcessKDPLog.h:33
lldb_private::KDPLog::Comm
@ Comm
lldb_private::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE
LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()
lldb_private::Log::MaskType
uint64_t MaskType
The underlying type of all log channel enums.
Definition: Log.h:124
lldb_private::Log::Channel
Definition: Log.h:146
lldb_private::ProcessKDPLog::Initialize
static void Initialize()
Definition: ProcessKDPLog.cpp:38
lldb_private::KDPLog::Async
@ Async
lldb_private::KDPLog::Packets
@ Packets
lldb_private::LogChannelFor< KDPLog >
Log::Channel & LogChannelFor< KDPLog >()
Definition: ProcessKDPLog.cpp:34
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::KDPLog::Step
@ Step
lldb_private::KDPLog::MemoryDataShort
@ MemoryDataShort
lldb_private::KDPLog::Watchpoints
@ Watchpoints
lldb_private::KDPLog::Memory
@ Memory
lldb_private::KDPLog::MemoryDataLong
@ MemoryDataLong