This patch implements basic support for stopping at breakpoints and resuming later. While a breakpoint is stopped at, LLDB will cease to process events in the debug loop, effectively suspending the process, and then resume later when ProcessWindows::DoResume is called. As a side effect, this also correctly handles the loader breakpoint (i.e. the initial stop) so that LLDB goes through the correct state sequence during the initial process launch. llvm-svn: 221642
52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
//===-- ForwardDecl.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_ForwardDecl_H_
|
|
#define liblldb_Plugins_Process_Windows_ForwardDecl_H_
|
|
|
|
class ProcessWindows;
|
|
|
|
#include <memory>
|
|
|
|
// ExceptionResult is returned by the debug delegate to specify how it processed
|
|
// the exception.
|
|
enum class ExceptionResult
|
|
{
|
|
Handled, // The delegate handled the exception. Continue.
|
|
NotHandled, // The delegate did not handle the exception. Keep
|
|
// searching.
|
|
WillHandle // The delegate will handle the exception. Do not
|
|
// process further debug events until it finishes.
|
|
};
|
|
|
|
namespace lldb_private
|
|
{
|
|
|
|
class IDebugDelegate;
|
|
class DebuggerThread;
|
|
|
|
class ExceptionRecord;
|
|
|
|
// Process message forward declarations.
|
|
class ProcessMessageBase;
|
|
class ProcessMessageExitProcess;
|
|
class ProcessMessageDebuggerConnected;
|
|
class ProcessMessageException;
|
|
class ProcessMessageCreateThread;
|
|
class ProcessMessageExitThread;
|
|
class ProcessMessageLoadDll;
|
|
class ProcessMessageUnloadDll;
|
|
class ProcessMessageDebugString;
|
|
class ProcessMessageDebuggerError;
|
|
|
|
typedef std::shared_ptr<IDebugDelegate> DebugDelegateSP;
|
|
typedef std::shared_ptr<DebuggerThread> DebuggerThreadSP;
|
|
}
|
|
|
|
#endif |