Previously we were directly updating the thread list and stopping and restarting the process every time threads were created. With this patch, we queue up thread launches and thread exits, resolve these all internally, and only update the threads when we get an UpdateThreadList call. We now only update the private state on an actual stop (i.e. breakpoint). llvm-svn: 222178
39 lines
1.2 KiB
C++
39 lines
1.2 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
|
|
{
|
|
BreakInDebugger, // Break in the debugger and give the user a chance to interact with
|
|
// the program before continuing.
|
|
MaskException, // Eat the exception and don't let the application know it occurred.
|
|
SendToApplication // Send the exception to the application to be handled as if there were
|
|
// no debugger attached.
|
|
};
|
|
|
|
namespace lldb_private
|
|
{
|
|
|
|
class IDebugDelegate;
|
|
class DebuggerThread;
|
|
class ExceptionRecord;
|
|
|
|
typedef std::shared_ptr<IDebugDelegate> DebugDelegateSP;
|
|
typedef std::shared_ptr<DebuggerThread> DebuggerThreadSP;
|
|
}
|
|
|
|
#endif |