C# 클래스 CsDebugScript.VS.VSDebugger

상속: Engine.IDebuggerEngine
파일 보기 프로젝트 열기: southpolenator/WinDbgCs 1 사용 예제들

공개 메소드들

메소드 설명
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.

비공개 메소드들

메소드 설명
UpdateCache ( ) : void

Updates the cache since something changed in debugger state.

메소드 상세

BreakExecution() 공개 메소드

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

ContinueExecution() 공개 메소드

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

CreateDefaultSymbolProvider() 공개 메소드

public CreateDefaultSymbolProvider ( ) : Engine.ISymbolProvider
리턴 Engine.ISymbolProvider

CreateDefaultSymbolProviderModule() 공개 메소드

public CreateDefaultSymbolProviderModule ( ) : Engine.ISymbolProviderModule
리턴 Engine.ISymbolProviderModule

Execute() 공개 메소드

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.
리턴 void

ExecuteAction() 공개 메소드

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.
리턴 void

FindPatternInMemory() 공개 메소드

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
리턴 ulong

GetAllProcesses() 공개 메소드

Gets all processes currently being debugged.
public GetAllProcesses ( ) : Process[]
리턴 Process[]

GetCurrentProcess() 공개 메소드

Gets the current process.
public GetCurrentProcess ( ) : Process
리턴 Process

GetLastEventInfo() 공개 메소드

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

GetMemoryRegions() 공개 메소드

public GetMemoryRegions ( Process process ) : MemoryRegion[]
process Process
리턴 MemoryRegion[]

GetModuleAddress() 공개 메소드

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.
리턴 ulong

GetModuleImageName() 공개 메소드

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.
리턴 string

GetModuleLoadedImage() 공개 메소드

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.
리턴 string

GetModuleMappedImage() 공개 메소드

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.
리턴 string

GetModuleName() 공개 메소드

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.
리턴 string

GetModuleSymbolFile() 공개 메소드

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.
리턴 string

GetModuleTimestampAndSize() 공개 메소드

Gets the timestamp and size of the module.
public GetModuleTimestampAndSize ( Module module ) : ulong>.Tuple
module Module The module.
리턴 ulong>.Tuple

GetModuleVersion() 공개 메소드

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.
리턴 void

GetProcessActualProcessorType() 공개 메소드

Gets the actual processor type of the specified process.
public GetProcessActualProcessorType ( Process process ) : Engine.Native.ImageFileMachine
process Process The process.
리턴 Engine.Native.ImageFileMachine

GetProcessCurrentThread() 공개 메소드

Gets the current thread of the specified process.
public GetProcessCurrentThread ( Process process ) : System.Thread
process Process The process.
리턴 System.Thread

GetProcessDumpFileName() 공개 메소드

Gets the dump file name of the specified process.
public GetProcessDumpFileName ( Process process ) : string
process Process The process.
리턴 string

GetProcessEffectiveProcessorType() 공개 메소드

Gets the effective processor type of the specified process.
public GetProcessEffectiveProcessorType ( Process process ) : Engine.Native.ImageFileMachine
process Process The process.
리턴 Engine.Native.ImageFileMachine

GetProcessEnvironmentBlockAddress() 공개 메소드

public GetProcessEnvironmentBlockAddress ( Process process ) : ulong
process Process
리턴 ulong

GetProcessExecutableName() 공개 메소드

Gets the executable name of the specified process.
public GetProcessExecutableName ( Process process ) : string
process Process The process.
리턴 string

GetProcessModules() 공개 메소드

Gets all modules of the specified process.
public GetProcessModules ( Process process ) : Module[]
process Process The process.
리턴 Module[]

GetProcessSystemId() 공개 메소드

Gets the system identifier of the specified process.
public GetProcessSystemId ( Process process ) : uint
process Process The process.
리턴 uint

GetProcessThreads() 공개 메소드

Gets all threads of the specified process.
public GetProcessThreads ( Process process ) : System.Thread[]
process Process The process.
리턴 System.Thread[]

GetProcessUpTime() 공개 메소드

public GetProcessUpTime ( Process process ) : uint
process Process
리턴 uint

GetStackTraceFromContext() 공개 메소드

public GetStackTraceFromContext ( Process process, ulong contextAddress, uint contextSize ) : StackTrace
process Process
contextAddress ulong
contextSize uint
리턴 StackTrace

GetThreadContext() 공개 메소드

Gets the thread context of the specified thread.
public GetThreadContext ( System.Thread thread ) : ThreadContext
thread System.Thread The thread.
리턴 ThreadContext

GetThreadCurrentStackFrame() 공개 메소드

Gets the current stack frame of the specified thread.
public GetThreadCurrentStackFrame ( System.Thread thread ) : StackFrame
thread System.Thread The thread.
리턴 StackFrame

GetThreadEnvironmentBlockAddress() 공개 메소드

Gets the environment block address of the specified thread.
public GetThreadEnvironmentBlockAddress ( System.Thread thread ) : ulong
thread System.Thread The thread.
리턴 ulong

GetThreadStackTrace() 공개 메소드

Gets the stack trace of the specified thread.
public GetThreadStackTrace ( System.Thread thread ) : StackTrace
thread System.Thread The thread.
리턴 StackTrace

IsMinidump() 공개 메소드

public IsMinidump ( Process process ) : bool
process Process
리턴 bool

QueryVirtual() 공개 메소드

public QueryVirtual ( Process process, ulong address, ulong &baseAddress, ulong &regionSize ) : void
process Process
address ulong
baseAddress ulong
regionSize ulong
리턴 void

ReadAnsiString() 공개 메소드

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
리턴 string

ReadInput() 공개 메소드

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

ReadMemory() 공개 메소드

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.
리턴 CsDebugScript.Engine.Utility.MemoryBuffer

ReadUnicodeString() 공개 메소드

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
리턴 string

SetCurrentProcess() 공개 메소드

Sets the current process.
Process wasn't found
public SetCurrentProcess ( Process process ) : void
process Process The process.
리턴 void

SetCurrentStackFrame() 공개 메소드

public SetCurrentStackFrame ( StackFrame stackFrame ) : void
stackFrame StackFrame
리턴 void

SetCurrentThread() 공개 메소드

Sets the current thread.
Thread wasn't found
public SetCurrentThread ( System.Thread thread ) : void
thread System.Thread The thread.
리턴 void

Terminate() 공개 메소드

Terminates given process.
public Terminate ( Process process ) : void
process Process Process to Terminate.
리턴 void

VSDebugger() 공개 메소드

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