blob: fd2b2c62388d8fed68fad06e058739d4f6228c76 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
//===-- DebugProcessLauncher.h ----------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef liblldb_Plugins_Process_Windows_DebugProcessLauncher_H_
#define liblldb_Plugins_Process_Windows_DebugProcessLauncher_H_
#include "lldb/Host/ProcessLauncher.h"
#include "lldb/lldb-forward.h"
namespace lldb_private
{
//----------------------------------------------------------------------
// DebugProcessLauncher
//
// DebugProcessLauncher launches a process for debugging on Windows. On
// Windows, the debug loop that detects events and status changes in a debugged
// process must run on the same thread that calls CreateProcess. So
// DebugProcessLauncher is built with this in mind. It queues a request to the
// DebugDriverThread to launch a new process, then waits for a notification from
// that thread that the launch is complete.
//----------------------------------------------------------------------
class DebugProcessLauncher : public ProcessLauncher
{
public:
explicit DebugProcessLauncher(lldb::ProcessSP process_plugin);
virtual HostProcess LaunchProcess(const ProcessLaunchInfo &launch_info, Error &error);
private:
lldb::ProcessSP m_process_plugin;
};
}
#endif
|