C# Class msos.StackWalkerStrategy

Stack walker abstract class, defining stack walker interface
显示文件 Open project: goldshtn/msos Class Usage Examples

Protected Properties

Property Type Description
_runtime Microsoft.Diagnostics.Runtime.ClrRuntime

Public Methods

Method Description
GetCriticalSectionBlockingObject ( UnifiedStackFrame frame, UnifiedBlockingObject &blockingObject ) : bool
SetFrameParameters ( UnifiedStackFrame frame ) : bool
StackWalkerStrategy ( Microsoft.Diagnostics.Runtime.ClrRuntime runtime ) : System

Protected Methods

Method Description
AddMultipleWaitInformation ( UnifiedStackFrame frame, uint numberOfHandles, ulong addressOfHandlesArray ) : void
AddSingleWaitInformation ( UnifiedStackFrame frame, ulong handleValue ) : void
ConvertToAddress ( byte bits ) : ulong
ExtractWaitForMultipleObjectsInformation ( UnifiedStackFrame frame ) : void
ExtractWaitForSingleObjectInformation ( UnifiedStackFrame frame ) : void
GetCriticalSectionBlockingObject ( UnifiedStackFrame frame ) : UnifiedBlockingObject

Private Methods

Method Description
DuplicateHandle ( IntPtr handle, uint pid, IntPtr &newHandle ) : bool
GetHandleObjectName ( IntPtr handle, uint pid ) : string

Retrieves the name of the object referenced by the specified handle using NtQueryObject.

GetHandleType ( IntPtr handle, uint pid ) : string

Retrieve the handle type name using NtQueryObject.

IsMatchingMethod ( UnifiedStackFrame frame, string key ) : bool
ReadHandles ( ulong startAddress, uint count ) : List

Method Details

AddMultipleWaitInformation() protected method

protected AddMultipleWaitInformation ( UnifiedStackFrame frame, uint numberOfHandles, ulong addressOfHandlesArray ) : void
frame UnifiedStackFrame
numberOfHandles uint
addressOfHandlesArray ulong
return void

AddSingleWaitInformation() protected method

protected AddSingleWaitInformation ( UnifiedStackFrame frame, ulong handleValue ) : void
frame UnifiedStackFrame
handleValue ulong
return void

ConvertToAddress() protected static method

protected static ConvertToAddress ( byte bits ) : ulong
bits byte
return ulong

ExtractWaitForMultipleObjectsInformation() protected abstract method

protected abstract ExtractWaitForMultipleObjectsInformation ( UnifiedStackFrame frame ) : void
frame UnifiedStackFrame
return void

ExtractWaitForSingleObjectInformation() protected abstract method

protected abstract ExtractWaitForSingleObjectInformation ( UnifiedStackFrame frame ) : void
frame UnifiedStackFrame
return void

GetCriticalSectionBlockingObject() protected abstract method

protected abstract GetCriticalSectionBlockingObject ( UnifiedStackFrame frame ) : UnifiedBlockingObject
frame UnifiedStackFrame
return UnifiedBlockingObject

GetCriticalSectionBlockingObject() public method

public GetCriticalSectionBlockingObject ( UnifiedStackFrame frame, UnifiedBlockingObject &blockingObject ) : bool
frame UnifiedStackFrame
blockingObject UnifiedBlockingObject
return bool

SetFrameParameters() public method

public SetFrameParameters ( UnifiedStackFrame frame ) : bool
frame UnifiedStackFrame
return bool

StackWalkerStrategy() public method

public StackWalkerStrategy ( Microsoft.Diagnostics.Runtime.ClrRuntime runtime ) : System
runtime Microsoft.Diagnostics.Runtime.ClrRuntime
return System

Property Details

_runtime protected_oe property

protected ClrRuntime,Microsoft.Diagnostics.Runtime _runtime
return Microsoft.Diagnostics.Runtime.ClrRuntime