Files
clang-p2996/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
Walter Erquinigo b8dcd0ba26 [NFC][lldb][trace] Rename trace session to trace bundle
As previously discussed with @jj10306, we didn't really have a name for
the post-mortem (or offline) trace session representation, which is in
fact a folder with a bunch of files. We decided to call this folder
"trace bundle", and the main JSON file in it "trace bundle description
file". This naming is pretty decent, so I'm refactoring all the existing
code to account for that.

Differential Revision: https://reviews.llvm.org/D128484
2022-06-24 08:41:33 -07:00

59 lines
1.7 KiB
C++

//===-- ThreadPostMortemTrace.h ---------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_TARGET_THREADPOSTMORTEMTRACE_H
#define LLDB_TARGET_THREADPOSTMORTEMTRACE_H
#include "lldb/Target/Thread.h"
namespace lldb_private {
/// \class ThreadPostMortemTrace ThreadPostMortemTrace.h
///
/// Thread implementation used for representing threads gotten from trace
/// session files, which are similar to threads from core files.
///
class ThreadPostMortemTrace : public Thread {
public:
/// \param[in] process
/// The process who owns this thread.
///
/// \param[in] tid
/// The tid of this thread.
///
/// \param[in] trace_file
/// The file that contains the list of instructions that were traced when
/// this thread was being executed.
ThreadPostMortemTrace(Process &process, lldb::tid_t tid,
const llvm::Optional<FileSpec> &trace_file)
: Thread(process, tid), m_trace_file(trace_file) {}
void RefreshStateAfterStop() override;
lldb::RegisterContextSP GetRegisterContext() override;
lldb::RegisterContextSP
CreateRegisterContextForFrame(StackFrame *frame) override;
/// \return
/// The trace file of this thread.
const llvm::Optional<FileSpec> &GetTraceFile() const;
protected:
bool CalculateStopInfo() override;
lldb::RegisterContextSP m_thread_reg_ctx_sp;
private:
llvm::Optional<FileSpec> m_trace_file;
};
} // namespace lldb_private
#endif // LLDB_TARGET_THREADPOSTMORTEMTRACE_H