brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 06c9d06 Raw
55 lines · c
1//===-- ProcessFreeBSDKernel.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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H10#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H11 12#include "lldb/Target/PostMortemProcess.h"13 14class ProcessFreeBSDKernel : public lldb_private::PostMortemProcess {15public:16  ProcessFreeBSDKernel(lldb::TargetSP target_sp, lldb::ListenerSP listener,17                       const lldb_private::FileSpec &core_file);18 19  static lldb::ProcessSP20  CreateInstance(lldb::TargetSP target_sp, lldb::ListenerSP listener,21                 const lldb_private::FileSpec *crash_file_path,22                 bool can_connect);23 24  static void Initialize();25 26  static void Terminate();27 28  static llvm::StringRef GetPluginNameStatic() { return "freebsd-kernel"; }29 30  static llvm::StringRef GetPluginDescriptionStatic() {31    return "FreeBSD kernel vmcore debugging plug-in.";32  }33 34  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }35 36  lldb_private::Status DoDestroy() override;37 38  bool CanDebug(lldb::TargetSP target_sp,39                bool plugin_specified_by_name) override;40 41  void RefreshStateAfterStop() override;42 43  lldb_private::Status DoLoadCore() override;44 45  lldb_private::DynamicLoader *GetDynamicLoader() override;46 47protected:48  bool DoUpdateThreadList(lldb_private::ThreadList &old_thread_list,49                          lldb_private::ThreadList &new_thread_list) override;50 51  lldb::addr_t FindSymbol(const char* name);52};53 54#endif // LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H55