2015-10-29 02:21:45 +08:00
|
|
|
//===-- TargetThreadWindows.h -----------------------------------*- C++ -*-===//
|
|
|
|
//
|
2019-01-19 16:50:56 +08:00
|
|
|
// 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
|
2015-10-29 02:21:45 +08:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef liblldb_Plugins_Process_Windows_TargetThreadWindows_H_
|
|
|
|
#define liblldb_Plugins_Process_Windows_TargetThreadWindows_H_
|
|
|
|
|
|
|
|
//#include "ForwardDecl.h"
|
|
|
|
#include "lldb/Host/HostThread.h"
|
|
|
|
#include "lldb/Target/Thread.h"
|
|
|
|
#include "lldb/lldb-forward.h"
|
|
|
|
|
2016-11-24 00:26:37 +08:00
|
|
|
#include "RegisterContextWindows.h"
|
|
|
|
|
2015-10-29 02:21:45 +08:00
|
|
|
namespace lldb_private {
|
|
|
|
class ProcessWindows;
|
|
|
|
class HostThread;
|
|
|
|
class StackFrame;
|
|
|
|
|
|
|
|
class TargetThreadWindows : public lldb_private::Thread {
|
|
|
|
public:
|
|
|
|
TargetThreadWindows(ProcessWindows &process, const HostThread &thread);
|
|
|
|
virtual ~TargetThreadWindows();
|
2016-09-07 04:57:50 +08:00
|
|
|
|
2015-10-29 02:21:45 +08:00
|
|
|
// lldb_private::Thread overrides
|
|
|
|
void RefreshStateAfterStop() override;
|
|
|
|
void WillResume(lldb::StateType resume_state) override;
|
|
|
|
void DidStop() override;
|
2016-11-24 00:26:37 +08:00
|
|
|
lldb::RegisterContextSP GetRegisterContext() override;
|
|
|
|
lldb::RegisterContextSP
|
|
|
|
CreateRegisterContextForFrame(StackFrame *frame) override;
|
2015-10-29 02:21:45 +08:00
|
|
|
bool CalculateStopInfo() override;
|
2016-09-07 04:57:50 +08:00
|
|
|
|
2018-05-18 05:34:24 +08:00
|
|
|
Status DoResume();
|
2016-09-07 04:57:50 +08:00
|
|
|
|
2015-10-29 02:21:45 +08:00
|
|
|
HostThread GetHostThread() const { return m_host_thread; }
|
2016-09-07 04:57:50 +08:00
|
|
|
|
2015-10-29 02:21:45 +08:00
|
|
|
private:
|
2018-07-11 06:05:33 +08:00
|
|
|
lldb::RegisterContextSP m_thread_reg_ctx_sp;
|
2015-10-29 02:21:45 +08:00
|
|
|
HostThread m_host_thread;
|
|
|
|
};
|
2018-07-11 06:05:33 +08:00
|
|
|
} // namespace lldb_private
|
2015-10-29 02:21:45 +08:00
|
|
|
|
|
|
|
#endif
|