brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · dac19dc Raw
54 lines · c
1//===-- DynamicLoaderStatic.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_DYNAMICLOADER_STATIC_DYNAMICLOADERSTATIC_H10#define LLDB_SOURCE_PLUGINS_DYNAMICLOADER_STATIC_DYNAMICLOADERSTATIC_H11 12#include "lldb/Target/DynamicLoader.h"13#include "lldb/Target/Process.h"14#include "lldb/Utility/FileSpec.h"15#include "lldb/Utility/UUID.h"16 17class DynamicLoaderStatic : public lldb_private::DynamicLoader {18public:19  DynamicLoaderStatic(lldb_private::Process *process);20 21  // Static Functions22  static void Initialize();23 24  static void Terminate();25 26  static llvm::StringRef GetPluginNameStatic() { return "static"; }27 28  static llvm::StringRef GetPluginDescriptionStatic();29 30  static lldb_private::DynamicLoader *31  CreateInstance(lldb_private::Process *process, bool force);32 33  /// Called after attaching a process.34  ///35  /// Allow DynamicLoader plug-ins to execute some code after36  /// attaching to a process.37  void DidAttach() override;38 39  void DidLaunch() override;40 41  lldb::ThreadPlanSP GetStepThroughTrampolinePlan(lldb_private::Thread &thread,42                                                  bool stop_others) override;43 44  lldb_private::Status CanLoadImage() override;45 46  // PluginInterface protocol47  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }48 49private:50  void LoadAllImagesAtFileAddresses();51};52 53#endif // LLDB_SOURCE_PLUGINS_DYNAMICLOADER_STATIC_DYNAMICLOADERSTATIC_H54