LLDB mainline
TraceExporterCTF.cpp
Go to the documentation of this file.
1//===-- TraceExporterCTF.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 "TraceExporterCTF.h"
10
11#include <memory>
12
15
16using namespace lldb;
17using namespace lldb_private;
18using namespace lldb_private::ctf;
19using namespace llvm;
20
22
23//------------------------------------------------------------------
24// PluginInterface protocol
25//------------------------------------------------------------------
26
27static CommandObjectSP
29 return std::make_shared<CommandObjectThreadTraceExportCTF>(interpreter);
30}
31
34 "Chrome Trace Format Exporter", CreateInstance,
36}
37
40}
41
42Expected<TraceExporterUP> TraceExporterCTF::CreateInstance() {
43 return std::make_unique<TraceExporterCTF>();
44}
#define LLDB_PLUGIN_DEFINE(PluginName)
Definition: PluginManager.h:31
static CommandObjectSP GetThreadTraceExportCommand(CommandInterpreter &interpreter)
static bool RegisterPlugin(llvm::StringRef name, llvm::StringRef description, ABICreateInstance create_callback)
static bool UnregisterPlugin(ABICreateInstance create_callback)
Trace Exporter Plugin that can produce traces in Chrome Trace Format.
static llvm::Expected< lldb::TraceExporterUP > CreateInstance()
PluginInterface protocol.
static llvm::StringRef GetPluginNameStatic()
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
Definition: SBAddress.h:15
std::shared_ptr< lldb_private::CommandObject > CommandObjectSP
Definition: lldb-forward.h:325
Definition: Debugger.h:53