C# Class CsDebugScript.VS.VSDebugger

Inheritance: Engine.IDebuggerEngine
Afficher le fichier Open project: southpolenator/WinDbgCs Class Usage Examples

Méthodes publiques

Méthode Description
BreakExecution ( Process process ) : void

When doing live process debugging breaks debugee execution of the specified process.

ContinueExecution ( Process process ) : void

When doing live process debugging continues debugee execution of the specified process.

CreateDefaultSymbolProvider ( ) : Engine.ISymbolProvider
CreateDefaultSymbolProviderModule ( ) : Engine.ISymbolProviderModule
Execute ( string command ) : void

Executes the specified command, but leaves its output visible to the user.

ExecuteAction ( System.Action action ) : void

Executes the action in redirected console output and error stream.

FindPatternInMemory ( Process process, ulong memoryStart, ulong memoryEnd, byte pattern, int patternStart, int patternEnd, uint searchAlignment = 1, bool searchWritableMemoryOnly = false ) : ulong
GetAllProcesses ( ) : Process[]

Gets all processes currently being debugged.

GetCurrentProcess ( ) : Process

Gets the current process.

GetLastEventInfo ( ) : DebugEventInfo

Gets last event info.

GetMemoryRegions ( Process process ) : MemoryRegion[]
GetModuleAddress ( Process process, string moduleName ) : ulong

Gets the address of the module loaded into specified process.

GetModuleImageName ( Module module ) : string

Gets the name of the image. This is the name of the executable file, including the extension. Typically, the full path is included in user mode but not in kernel mode.

GetModuleLoadedImage ( Module module ) : string

Gets the name of the loaded image. Unless Microsoft CodeView symbols are present, this is the same as the image name.

GetModuleMappedImage ( Module module ) : string

Gets the name of the mapped image. In most cases, this is null. If the debugger is mapping an image file (for example, during minidump debugging), this is the name of the mapped image.

GetModuleName ( Module module ) : string

Gets the module name. This is usually just the file name without the extension. In a few cases, the module name differs significantly from the file name.

GetModuleSymbolFile ( Module module ) : string

Gets the name of the symbol file. The path and name of the symbol file. If no symbols have been loaded, this is the name of the executable file instead.

GetModuleTimestampAndSize ( Module module ) : ulong>.Tuple

Gets the timestamp and size of the module.

GetModuleVersion ( Module module, int &major, int &minor, int &revision, int &patch ) : void

Gets the module version.

GetProcessActualProcessorType ( Process process ) : Engine.Native.ImageFileMachine

Gets the actual processor type of the specified process.

GetProcessCurrentThread ( Process process ) : System.Thread

Gets the current thread of the specified process.

GetProcessDumpFileName ( Process process ) : string

Gets the dump file name of the specified process.

GetProcessEffectiveProcessorType ( Process process ) : Engine.Native.ImageFileMachine

Gets the effective processor type of the specified process.

GetProcessEnvironmentBlockAddress ( Process process ) : ulong
GetProcessExecutableName ( Process process ) : string

Gets the executable name of the specified process.

GetProcessModules ( Process process ) : Module[]

Gets all modules of the specified process.

GetProcessSystemId ( Process process ) : uint

Gets the system identifier of the specified process.

GetProcessThreads ( Process process ) : System.Thread[]

Gets all threads of the specified process.

GetProcessUpTime ( Process process ) : uint
GetStackTraceFromContext ( Process process, ulong contextAddress, uint contextSize ) : StackTrace
GetThreadContext ( System.Thread thread ) : ThreadContext

Gets the thread context of the specified thread.

GetThreadCurrentStackFrame ( System.Thread thread ) : StackFrame

Gets the current stack frame of the specified thread.

GetThreadEnvironmentBlockAddress ( System.Thread thread ) : ulong

Gets the environment block address of the specified thread.

GetThreadStackTrace ( System.Thread thread ) : StackTrace

Gets the stack trace of the specified thread.

IsMinidump ( Process process ) : bool
QueryVirtual ( Process process, ulong address, ulong &baseAddress, ulong &regionSize ) : void
ReadAnsiString ( Process process, ulong address, int length = -1 ) : string

Reads the ANSI string.

ReadInput ( ) : string

Reads the line from the debugger input.

ReadMemory ( Process process, ulong address, uint size ) : MemoryBuffer

Reads the memory from the specified process.

ReadUnicodeString ( Process process, ulong address, int length = -1 ) : string

Reads the unicode string.

SetCurrentProcess ( Process process ) : void

Sets the current process.

SetCurrentStackFrame ( StackFrame stackFrame ) : void
SetCurrentThread ( System.Thread thread ) : void

Sets the current thread.

Terminate ( Process process ) : void

Terminates given process.

VSDebugger ( VSDebuggerProxy proxy ) : System

Initializes a new instance of the VSDebugger class.

Private Methods

Méthode Description
UpdateCache ( ) : void

Updates the cache since something changed in debugger state.

Method Details

BreakExecution() public méthode

When doing live process debugging breaks debugee execution of the specified process.
public BreakExecution ( Process process ) : void
process Process Process to break.
Résultat void

ContinueExecution() public méthode

When doing live process debugging continues debugee execution of the specified process.
public ContinueExecution ( Process process ) : void
process Process Process to be continued.
Résultat void

CreateDefaultSymbolProvider() public méthode

public CreateDefaultSymbolProvider ( ) : Engine.ISymbolProvider
Résultat Engine.ISymbolProvider

CreateDefaultSymbolProviderModule() public méthode

public CreateDefaultSymbolProviderModule ( ) : Engine.ISymbolProviderModule
Résultat Engine.ISymbolProviderModule

Execute() public méthode

Executes the specified command, but leaves its output visible to the user.
This function is not planned to be implemented for VS debugger.
public Execute ( string command ) : void
command string The command.
Résultat void

ExecuteAction() public méthode

Executes the action in redirected console output and error stream.
This function is not planned to be implemented for VS debugger.
public ExecuteAction ( System.Action action ) : void
action System.Action The action.
Résultat void

FindPatternInMemory() public méthode

public FindPatternInMemory ( Process process, ulong memoryStart, ulong memoryEnd, byte pattern, int patternStart, int patternEnd, uint searchAlignment = 1, bool searchWritableMemoryOnly = false ) : ulong
process Process
memoryStart ulong
memoryEnd ulong
pattern byte
patternStart int
patternEnd int
searchAlignment uint
searchWritableMemoryOnly bool
Résultat ulong

GetAllProcesses() public méthode

Gets all processes currently being debugged.
public GetAllProcesses ( ) : Process[]
Résultat Process[]

GetCurrentProcess() public méthode

Gets the current process.
public GetCurrentProcess ( ) : Process
Résultat Process

GetLastEventInfo() public méthode

Gets last event info.
This function is not planned to be implemented for VS debugger.
public GetLastEventInfo ( ) : DebugEventInfo
Résultat DebugEventInfo

GetMemoryRegions() public méthode

public GetMemoryRegions ( Process process ) : MemoryRegion[]
process Process
Résultat MemoryRegion[]

GetModuleAddress() public méthode

Gets the address of the module loaded into specified process.
public GetModuleAddress ( Process process, string moduleName ) : ulong
process Process The process.
moduleName string Name of the module.
Résultat ulong

GetModuleImageName() public méthode

Gets the name of the image. This is the name of the executable file, including the extension. Typically, the full path is included in user mode but not in kernel mode.
public GetModuleImageName ( Module module ) : string
module Module The module.
Résultat string

GetModuleLoadedImage() public méthode

Gets the name of the loaded image. Unless Microsoft CodeView symbols are present, this is the same as the image name.
public GetModuleLoadedImage ( Module module ) : string
module Module The module.
Résultat string

GetModuleMappedImage() public méthode

Gets the name of the mapped image. In most cases, this is null. If the debugger is mapping an image file (for example, during minidump debugging), this is the name of the mapped image.
public GetModuleMappedImage ( Module module ) : string
module Module The module.
Résultat string

GetModuleName() public méthode

Gets the module name. This is usually just the file name without the extension. In a few cases, the module name differs significantly from the file name.
public GetModuleName ( Module module ) : string
module Module The module.
Résultat string

GetModuleSymbolFile() public méthode

Gets the name of the symbol file. The path and name of the symbol file. If no symbols have been loaded, this is the name of the executable file instead.
public GetModuleSymbolFile ( Module module ) : string
module Module The module.
Résultat string

GetModuleTimestampAndSize() public méthode

Gets the timestamp and size of the module.
public GetModuleTimestampAndSize ( Module module ) : ulong>.Tuple
module Module The module.
Résultat ulong>.Tuple

GetModuleVersion() public méthode

Gets the module version.
public GetModuleVersion ( Module module, int &major, int &minor, int &revision, int &patch ) : void
module Module The module.
major int The version major number.
minor int The version minor number.
revision int The version revision number.
patch int The version patch number.
Résultat void

GetProcessActualProcessorType() public méthode

Gets the actual processor type of the specified process.
public GetProcessActualProcessorType ( Process process ) : Engine.Native.ImageFileMachine
process Process The process.
Résultat Engine.Native.ImageFileMachine

GetProcessCurrentThread() public méthode

Gets the current thread of the specified process.
public GetProcessCurrentThread ( Process process ) : System.Thread
process Process The process.
Résultat System.Thread

GetProcessDumpFileName() public méthode

Gets the dump file name of the specified process.
public GetProcessDumpFileName ( Process process ) : string
process Process The process.
Résultat string

GetProcessEffectiveProcessorType() public méthode

Gets the effective processor type of the specified process.
public GetProcessEffectiveProcessorType ( Process process ) : Engine.Native.ImageFileMachine
process Process The process.
Résultat Engine.Native.ImageFileMachine

GetProcessEnvironmentBlockAddress() public méthode

public GetProcessEnvironmentBlockAddress ( Process process ) : ulong
process Process
Résultat ulong

GetProcessExecutableName() public méthode

Gets the executable name of the specified process.
public GetProcessExecutableName ( Process process ) : string
process Process The process.
Résultat string

GetProcessModules() public méthode

Gets all modules of the specified process.
public GetProcessModules ( Process process ) : Module[]
process Process The process.
Résultat Module[]

GetProcessSystemId() public méthode

Gets the system identifier of the specified process.
public GetProcessSystemId ( Process process ) : uint
process Process The process.
Résultat uint

GetProcessThreads() public méthode

Gets all threads of the specified process.
public GetProcessThreads ( Process process ) : System.Thread[]
process Process The process.
Résultat System.Thread[]

GetProcessUpTime() public méthode

public GetProcessUpTime ( Process process ) : uint
process Process
Résultat uint

GetStackTraceFromContext() public méthode

public GetStackTraceFromContext ( Process process, ulong contextAddress, uint contextSize ) : StackTrace
process Process
contextAddress ulong
contextSize uint
Résultat StackTrace

GetThreadContext() public méthode

Gets the thread context of the specified thread.
public GetThreadContext ( System.Thread thread ) : ThreadContext
thread System.Thread The thread.
Résultat ThreadContext

GetThreadCurrentStackFrame() public méthode

Gets the current stack frame of the specified thread.
public GetThreadCurrentStackFrame ( System.Thread thread ) : StackFrame
thread System.Thread The thread.
Résultat StackFrame

GetThreadEnvironmentBlockAddress() public méthode

Gets the environment block address of the specified thread.
public GetThreadEnvironmentBlockAddress ( System.Thread thread ) : ulong
thread System.Thread The thread.
Résultat ulong

GetThreadStackTrace() public méthode

Gets the stack trace of the specified thread.
public GetThreadStackTrace ( System.Thread thread ) : StackTrace
thread System.Thread The thread.
Résultat StackTrace

IsMinidump() public méthode

public IsMinidump ( Process process ) : bool
process Process
Résultat bool

QueryVirtual() public méthode

public QueryVirtual ( Process process, ulong address, ulong &baseAddress, ulong &regionSize ) : void
process Process
address ulong
baseAddress ulong
regionSize ulong
Résultat void

ReadAnsiString() public méthode

Reads the ANSI string.
public ReadAnsiString ( Process process, ulong address, int length = -1 ) : string
process Process The process.
address ulong The address.
length int The length. If length is -1, string is null terminated
Résultat string

ReadInput() public méthode

Reads the line from the debugger input.
This function is not planned to be implemented for VS debugger.
public ReadInput ( ) : string
Résultat string

ReadMemory() public méthode

Reads the memory from the specified process.
public ReadMemory ( Process process, ulong address, uint size ) : MemoryBuffer
process Process The process.
address ulong The memory address.
size uint The buffer size.
Résultat CsDebugScript.Engine.Utility.MemoryBuffer

ReadUnicodeString() public méthode

Reads the unicode string.
public ReadUnicodeString ( Process process, ulong address, int length = -1 ) : string
process Process The process.
address ulong The address.
length int The length. If length is -1, string is null terminated
Résultat string

SetCurrentProcess() public méthode

Sets the current process.
Process wasn't found
public SetCurrentProcess ( Process process ) : void
process Process The process.
Résultat void

SetCurrentStackFrame() public méthode

public SetCurrentStackFrame ( StackFrame stackFrame ) : void
stackFrame StackFrame
Résultat void

SetCurrentThread() public méthode

Sets the current thread.
Thread wasn't found
public SetCurrentThread ( System.Thread thread ) : void
thread System.Thread The thread.
Résultat void

Terminate() public méthode

Terminates given process.
public Terminate ( Process process ) : void
process Process Process to Terminate.
Résultat void

VSDebugger() public méthode

Initializes a new instance of the VSDebugger class.
public VSDebugger ( VSDebuggerProxy proxy ) : System
proxy VSDebuggerProxy The Visual Studio debugger proxy running in Default AppDomain.
Résultat System