C# Class LLDB.Process

Inheritance: IDisposable
显示文件 Open project: tritao/LLDBSharp Class Usage Examples

Public Properties

Property Type Description
NativeToManagedMap Process>.System.Collections.Concurrent.ConcurrentDictionary

Protected Properties

Property Type Description
__OriginalVTables void*[]
__PointerAdjustment int
__ownsNativeInstance bool

Public Methods

Method Description
AppendEventStateReport ( LLDB @event, LLDB result ) : void
Clear ( ) : void
Continue ( ) : LLDB.Error
CreateOSPluginThread ( ulong tid, ulong context ) : LLDB.Thread
Destroy ( ) : LLDB.Error
Detach ( ) : LLDB.Error
Detach ( bool keep_stopped ) : LLDB.Error
Dispose ( ) : void
EventIsProcessEvent ( LLDB @event ) : bool
GetAsyncProfileData ( sbyte dst, uint dst_len ) : uint
GetBroadcaster ( ) : LLDB.Broadcaster
GetDescription ( LLDB description ) : bool
GetExtendedBacktraceTypeAtIndex ( uint idx ) : string

Return the name of one of the thread-origin extended backtrace

methods.

GetHistoryThreads ( ulong addr ) : LLDB.ThreadCollection
GetInterruptedFromEvent ( LLDB @event ) : bool
GetNumRestartedReasonsFromEvent ( LLDB @event ) : uint
GetNumSupportedHardwareWatchpoints ( LLDB error ) : uint
GetProcessFromEvent ( LLDB @event ) : LLDB.Process
GetQueueAtIndex ( uint index ) : LLDB.Queue
GetRestartedFromEvent ( LLDB @event ) : bool
GetRestartedReasonAtIndexFromEvent ( LLDB @event, uint idx ) : string
GetSTDERR ( sbyte dst, uint dst_len ) : uint
GetSTDOUT ( sbyte dst, uint dst_len ) : uint
GetSelectedThread ( ) : LLDB.Thread
GetStateFromEvent ( LLDB @event ) : LLDB.StateType
GetStopEventForStopID ( uint stop_id ) : LLDB.Event

Note that it wasn't fully implemented and tracks only the stop

event for the last natural stop ID.

GetStopID ( bool include_expression_stops ) : uint
GetTarget ( ) : LLDB.Target
GetThreadAtIndex ( uint index ) : LLDB.Thread
GetThreadByID ( ulong sb_thread_id ) : LLDB.Thread
GetThreadByIndexID ( uint index_id ) : LLDB.Thread
GetUnixSignals ( ) : LLDB.UnixSignals
IsInstrumentationRuntimePresent ( LLDB type ) : bool
IsValid ( ) : bool
Kill ( ) : LLDB.Error
LoadImage ( LLDB remote_image_spec, LLDB &error ) : uint

Load a shared library into this process.

LoadImage ( LLDB local_image_spec, LLDB remote_image_spec, LLDB &error ) : uint

Load a shared library into this process.

Process ( ) : System
Process ( LLDB rhs ) : System
PutSTDIN ( string src, uint src_len ) : uint
ReadCStringFromMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
ReadMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
ReadPointerFromMemory ( ulong addr, LLDB error ) : ulong
ReadUnsignedFromMemory ( ulong addr, uint byte_size, LLDB error ) : ulong
RemoteAttachToProcessWithID ( ulong pid, LLDB error ) : bool

Remote connection related functions. These will fail if the

process is not in eStateConnected. They are intended for use

when connecting to an externally managed debugserver instance.

RemoteLaunch ( sbyte argv, sbyte envp, string stdin_path, string stdout_path, string stderr_path, string working_directory, uint launch_flags, bool stop_at_entry, LLDB error ) : bool
ReportEventState ( LLDB @event, global @out ) : void
SaveCore ( string file_name ) : LLDB.Error
SendAsyncInterrupt ( ) : void
SendEventData ( string data ) : LLDB.Error
SetSelectedThread ( LLDB thread ) : bool
SetSelectedThreadByID ( ulong tid ) : bool
SetSelectedThreadByIndexID ( uint index_id ) : bool
Signal ( int signal ) : LLDB.Error
Stop ( ) : LLDB.Error
UnloadImage ( uint image_token ) : LLDB.Error
WriteMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
__CreateInstance ( Process native, bool skipVTables = false ) : Process
__CreateInstance ( global native, bool skipVTables = false ) : Process

Protected Methods

Method Description
Dispose ( bool disposing ) : void
Process ( void native, bool skipVTables = false ) : System

Private Methods

Method Description
Process ( Process native, bool skipVTables = false ) : System
__CopyValue ( Process native ) : void*

Method Details

AppendEventStateReport() public method

public AppendEventStateReport ( LLDB @event, LLDB result ) : void
@event LLDB
result LLDB
return void

Clear() public method

public Clear ( ) : void
return void

Continue() public method

public Continue ( ) : LLDB.Error
return LLDB.Error

CreateOSPluginThread() public method

public CreateOSPluginThread ( ulong tid, ulong context ) : LLDB.Thread
tid ulong
context ulong
return LLDB.Thread

Destroy() public method

public Destroy ( ) : LLDB.Error
return LLDB.Error

Detach() public method

public Detach ( ) : LLDB.Error
return LLDB.Error

Detach() public method

public Detach ( bool keep_stopped ) : LLDB.Error
keep_stopped bool
return LLDB.Error

Dispose() public method

public Dispose ( ) : void
return void

Dispose() protected method

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

EventIsProcessEvent() public static method

public static EventIsProcessEvent ( LLDB @event ) : bool
@event LLDB
return bool

GetAsyncProfileData() public method

public GetAsyncProfileData ( sbyte dst, uint dst_len ) : uint
dst sbyte
dst_len uint
return uint

GetBroadcaster() public method

public GetBroadcaster ( ) : LLDB.Broadcaster
return LLDB.Broadcaster

GetDescription() public method

public GetDescription ( LLDB description ) : bool
description LLDB
return bool

GetExtendedBacktraceTypeAtIndex() public method

Return the name of one of the thread-origin extended backtrace

methods.

public GetExtendedBacktraceTypeAtIndex ( uint idx ) : string
idx uint /// The index of the name to return. They will be returned in /// the order that the user will most likely want to see them. /// e.g. if the type at index 0 is not available for a thread, /// see if the type at index 1 provides an extended backtrace. ///
return string

GetHistoryThreads() public method

public GetHistoryThreads ( ulong addr ) : LLDB.ThreadCollection
addr ulong
return LLDB.ThreadCollection

GetInterruptedFromEvent() public static method

public static GetInterruptedFromEvent ( LLDB @event ) : bool
@event LLDB
return bool

GetNumRestartedReasonsFromEvent() public static method

public static GetNumRestartedReasonsFromEvent ( LLDB @event ) : uint
@event LLDB
return uint

GetNumSupportedHardwareWatchpoints() public method

public GetNumSupportedHardwareWatchpoints ( LLDB error ) : uint
error LLDB
return uint

GetProcessFromEvent() public static method

public static GetProcessFromEvent ( LLDB @event ) : LLDB.Process
@event LLDB
return LLDB.Process

GetQueueAtIndex() public method

public GetQueueAtIndex ( uint index ) : LLDB.Queue
index uint
return LLDB.Queue

GetRestartedFromEvent() public static method

public static GetRestartedFromEvent ( LLDB @event ) : bool
@event LLDB
return bool

GetRestartedReasonAtIndexFromEvent() public static method

public static GetRestartedReasonAtIndexFromEvent ( LLDB @event, uint idx ) : string
@event LLDB
idx uint
return string

GetSTDERR() public method

public GetSTDERR ( sbyte dst, uint dst_len ) : uint
dst sbyte
dst_len uint
return uint

GetSTDOUT() public method

public GetSTDOUT ( sbyte dst, uint dst_len ) : uint
dst sbyte
dst_len uint
return uint

GetSelectedThread() public method

public GetSelectedThread ( ) : LLDB.Thread
return LLDB.Thread

GetStateFromEvent() public static method

public static GetStateFromEvent ( LLDB @event ) : LLDB.StateType
@event LLDB
return LLDB.StateType

GetStopEventForStopID() public method

Note that it wasn't fully implemented and tracks only the stop

event for the last natural stop ID.

public GetStopEventForStopID ( uint stop_id ) : LLDB.Event
stop_id uint /// The ID of the stop event to return. ///
return LLDB.Event

GetStopID() public method

public GetStopID ( bool include_expression_stops ) : uint
include_expression_stops bool
return uint

GetTarget() public method

public GetTarget ( ) : LLDB.Target
return LLDB.Target

GetThreadAtIndex() public method

public GetThreadAtIndex ( uint index ) : LLDB.Thread
index uint
return LLDB.Thread

GetThreadByID() public method

public GetThreadByID ( ulong sb_thread_id ) : LLDB.Thread
sb_thread_id ulong
return LLDB.Thread

GetThreadByIndexID() public method

public GetThreadByIndexID ( uint index_id ) : LLDB.Thread
index_id uint
return LLDB.Thread

GetUnixSignals() public method

public GetUnixSignals ( ) : LLDB.UnixSignals
return LLDB.UnixSignals

IsInstrumentationRuntimePresent() public method

public IsInstrumentationRuntimePresent ( LLDB type ) : bool
type LLDB
return bool

IsValid() public method

public IsValid ( ) : bool
return bool

Kill() public method

public Kill ( ) : LLDB.Error
return LLDB.Error

LoadImage() public method

Load a shared library into this process.

public LoadImage ( LLDB remote_image_spec, LLDB &error ) : uint
remote_image_spec LLDB /// The path for the shared library on the target what you want /// to load. ///
error LLDB /// An error object that gets filled in with any errors that /// might occur when trying to load the shared library. ///
return uint

LoadImage() public method

Load a shared library into this process.

public LoadImage ( LLDB local_image_spec, LLDB remote_image_spec, LLDB &error ) : uint
local_image_spec LLDB /// The file spec that points to the shared library that you /// want to load if the library is located on the host. The /// library will be copied over to the location specified by /// remote_image_spec or into the current working directory with /// the same filename if the remote_image_spec isn't specified. ///
remote_image_spec LLDB /// If local_image_spec is specified then the location where the /// library should be copied over from the host. If /// local_image_spec isn't specified, then the path for the /// shared library on the target what you want to load. ///
error LLDB /// An error object that gets filled in with any errors that /// might occur when trying to load the shared library. ///
return uint

Process() public method

public Process ( ) : System
return System

Process() public method

public Process ( LLDB rhs ) : System
rhs LLDB
return System

Process() protected method

protected Process ( void native, bool skipVTables = false ) : System
native void
skipVTables bool
return System

PutSTDIN() public method

public PutSTDIN ( string src, uint src_len ) : uint
src string
src_len uint
return uint

ReadCStringFromMemory() public method

public ReadCStringFromMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
addr ulong
buf global
size uint
error LLDB
return uint

ReadMemory() public method

public ReadMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
addr ulong
buf global
size uint
error LLDB
return uint

ReadPointerFromMemory() public method

public ReadPointerFromMemory ( ulong addr, LLDB error ) : ulong
addr ulong
error LLDB
return ulong

ReadUnsignedFromMemory() public method

public ReadUnsignedFromMemory ( ulong addr, uint byte_size, LLDB error ) : ulong
addr ulong
byte_size uint
error LLDB
return ulong

RemoteAttachToProcessWithID() public method

Remote connection related functions. These will fail if the

process is not in eStateConnected. They are intended for use

when connecting to an externally managed debugserver instance.

public RemoteAttachToProcessWithID ( ulong pid, LLDB error ) : bool
pid ulong
error LLDB
return bool

RemoteLaunch() public method

public RemoteLaunch ( sbyte argv, sbyte envp, string stdin_path, string stdout_path, string stderr_path, string working_directory, uint launch_flags, bool stop_at_entry, LLDB error ) : bool
argv sbyte
envp sbyte
stdin_path string
stdout_path string
stderr_path string
working_directory string
launch_flags uint
stop_at_entry bool
error LLDB
return bool

ReportEventState() public method

public ReportEventState ( LLDB @event, global @out ) : void
@event LLDB
@out global
return void

SaveCore() public method

public SaveCore ( string file_name ) : LLDB.Error
file_name string
return LLDB.Error

SendAsyncInterrupt() public method

public SendAsyncInterrupt ( ) : void
return void

SendEventData() public method

public SendEventData ( string data ) : LLDB.Error
data string
return LLDB.Error

SetSelectedThread() public method

public SetSelectedThread ( LLDB thread ) : bool
thread LLDB
return bool

SetSelectedThreadByID() public method

public SetSelectedThreadByID ( ulong tid ) : bool
tid ulong
return bool

SetSelectedThreadByIndexID() public method

public SetSelectedThreadByIndexID ( uint index_id ) : bool
index_id uint
return bool

Signal() public method

public Signal ( int signal ) : LLDB.Error
signal int
return LLDB.Error

Stop() public method

public Stop ( ) : LLDB.Error
return LLDB.Error

UnloadImage() public method

public UnloadImage ( uint image_token ) : LLDB.Error
image_token uint
return LLDB.Error

WriteMemory() public method

public WriteMemory ( ulong addr, global buf, uint size, LLDB error ) : uint
addr ulong
buf global
size uint
error LLDB
return uint

__CreateInstance() public static method

public static __CreateInstance ( Process native, bool skipVTables = false ) : Process
native Process
skipVTables bool
return Process

__CreateInstance() public static method

public static __CreateInstance ( global native, bool skipVTables = false ) : Process
native global
skipVTables bool
return Process

Property Details

NativeToManagedMap public_oe static_oe property

public static System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap
return Process>.System.Collections.Concurrent.ConcurrentDictionary

__OriginalVTables protected_oe property

protected void*[] __OriginalVTables
return void*[]

__PointerAdjustment protected_oe property

protected int __PointerAdjustment
return int

__ownsNativeInstance protected_oe property

protected bool __ownsNativeInstance
return bool