1 //===-- ProcessWindowsLog.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 liblldb_ProcessWindowsLog_h_ 10 #define liblldb_ProcessWindowsLog_h_ 11 12 #include "lldb/Utility/Log.h" 13 14 namespace lldb_private { 15 16 enum class WindowsLog : Log::MaskType { 17 Breakpoints = Log::ChannelFlag<0>, // Log breakpoint operations 18 Event = Log::ChannelFlag<1>, // Low level debug events 19 Exception = Log::ChannelFlag<2>, // Log exceptions 20 Memory = Log::ChannelFlag<3>, // Log memory reads/writes calls 21 Process = Log::ChannelFlag<4>, // Log process operations 22 Registers = Log::ChannelFlag<5>, // Log register operations 23 Step = Log::ChannelFlag<6>, // Log step operations 24 Thread = Log::ChannelFlag<7>, // Log thread operations 25 LLVM_MARK_AS_BITMASK_ENUM(Thread) 26 }; 27 28 class ProcessWindowsLog { 29 public: 30 static void Initialize(); 31 static void Terminate(); 32 }; 33 34 template <> Log::Channel &LogChannelFor<WindowsLog>(); 35 } 36 37 #endif // liblldb_ProcessWindowsLog_h_ 38