C# Class Mono.Debugger.Backend.ThreadManager

Inheritance: DebuggerMarshalByRefObject
Show file Open project: baulig/debugger Class Usage Examples

Public Properties

Property Type Description
WaitTimeout System.TimeSpan

Private Properties

Property Type Description
AddEngine void
AddPendingEvent void
GetEngine SingleSteppingEngine
HandleChildEvent bool
HasPendingSigstopForNewThread bool
RemoveProcess void
RequestWait void
SendCommand object
ThreadManager System
check_disposed void
check_pending_events void
engine_thread_main void
mono_debugger_server_dispatch_simple Inferior.ChildEventType
mono_debugger_server_global_init int
mono_debugger_server_global_wait int
start_inferior void
start_wait_thread void
wait_thread_main bool

Public Methods

Method Description
Dispose ( ) : void
OpenCoreFile ( ProcessStart start, Thread &threads ) : Process
StartApplication ( ProcessStart start, CommandResult &result ) : Process

Protected Methods

Method Description
Dispose ( bool disposing ) : void

Private Methods

Method Description
AddEngine ( SingleSteppingEngine engine ) : void
AddPendingEvent ( SingleSteppingEngine engine, Inferior cevent ) : void
GetEngine ( int id ) : SingleSteppingEngine
HandleChildEvent ( SingleSteppingEngine engine, Inferior inferior, Inferior &cevent, bool &resume_target ) : bool
HasPendingSigstopForNewThread ( int pid ) : bool
RemoveProcess ( Process process ) : void
RequestWait ( ) : void
SendCommand ( SingleSteppingEngine sse, TargetAccessDelegate target, object user_data ) : object
ThreadManager ( Debugger debugger ) : System
check_disposed ( ) : void
check_pending_events ( ) : void
engine_thread_main ( ) : void

The heart of the SingleSteppingEngine. This runs in a background thread and processes stepping commands and events. For each application we're debugging, there is just one SingleSteppingEngine, no matter how many threads the application has. The engine is using one single event loop which is processing commands from the user and events from all of the application's threads.

mono_debugger_server_dispatch_simple ( int status, int &arg ) : Inferior.ChildEventType
mono_debugger_server_global_init ( ) : int
mono_debugger_server_global_wait ( int &status ) : int
start_inferior ( ) : void
start_wait_thread ( ) : void
wait_thread_main ( ) : bool

Method Details

Dispose() public method

public Dispose ( ) : void
return void

Dispose() protected method

protected Dispose ( bool disposing ) : void
disposing bool
return void

OpenCoreFile() public method

public OpenCoreFile ( ProcessStart start, Thread &threads ) : Process
start ProcessStart
threads Thread
return Process

StartApplication() public method

public StartApplication ( ProcessStart start, CommandResult &result ) : Process
start ProcessStart
result CommandResult
return Process

Property Details

WaitTimeout public static property

public static TimeSpan,System WaitTimeout
return System.TimeSpan