C# (CSharp) CsDebugScript.Engine.Debuggers.DbgEngDllHelpers Namespace

Classes

Name Description
DbgEngOutputCallbacksSwitcher Helper class for replacing debugger output callbacks - used when capturing command output. Example usage:

using (var switcher = new OutputCallbacksSwitcher(outputCallbacks) { }

DbgEngSymbolProvider Symbol provider that is being implemented over DbgEng.dll.
DebugCallbacks Debug callbacks called during WaitForEvent callback. This class in future can be extended to support callbacks provided on certain actions (e.g. breakpoint hit, thread create, module load etc.)
DebuggeeFlowController Controler for Debugee actions during live debugging.
DebuggerTextWriter Helper class for redirecting console out/error to debuggers output
ProcessSwitcher Used for scoped process switching. using (var switcher = new ProcessSwitcher(process)) { // Invoke DbgEng.dll interface function } Use this class for accessing process information from DbgEng.dll interfaces to insure correct process information access. For performance reasons, after using scope, previous process won't be set until it is needed. Always use this class to insure correctness.
StackFrameSwitcher Used for scoped stack frame switching. using (var switcher = new StackFrameSwitcher(stackFrame)) { // Invoke DbgEng.dll interface function } Use this class for accessing stack frame information from DbgEng.dll interfaces to insure correct stack frame information access. For performance reasons, after using scope, previous stack frame won't be set until it is needed. Always use this class to insure correctness.
StateCache Cache for current process, thread and stack frame. Also introduces lazy state sync.
ThreadSwitcher Used for scoped thread switching. using (var switcher = new ThreadSwitcher(thread)) { // Invoke DbgEng.dll interface function } Use this class for accessing thread information from DbgEng.dll interfaces to insure correct thread information access. For performance reasons, after using scope, previous thread won't be set until it is needed. Always use this class to insure correctness.