You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Debugging through a PowerShell Host is implemented by registering a handler
20
-
/// for the <see cref="System.Management.Automation.Debugger.DebuggerStop"/> event.
21
-
/// Registering that handler causes debug actions in PowerShell like Set-PSBreakpoint
22
-
/// and Wait-Debugger to drop into the debugger and trigger the handler.
23
-
/// The handler is passed a mutable <see cref="System.Management.Automation.DebuggerStopEventArgs"/> object
24
-
/// and the debugger stop lasts for the duration of the handler call.
25
-
/// The handler sets the <see cref="System.Management.Automation.DebuggerStopEventArgs.ResumeAction"/> property
26
-
/// when after it returns, the PowerShell debugger uses that as the direction on how to proceed.
18
+
/// Debugging through a PowerShell Host is implemented by registering a handler for the <see
19
+
/// cref="Debugger.DebuggerStop"/> event. Registering that handler causes debug actions in
20
+
/// PowerShell like Set-PSBreakpoint and Wait-Debugger to drop into the debugger and trigger the
21
+
/// handler. The handler is passed a mutable <see cref="DebuggerStopEventArgs"/> object and the
22
+
/// debugger stop lasts for the duration of the handler call. The handler sets the <see
23
+
/// cref="DebuggerStopEventArgs.ResumeAction"/> property when after it returns, the PowerShell
24
+
/// debugger uses that as the direction on how to proceed.
27
25
/// </para>
28
26
/// <para>
29
-
/// When we handle the <see cref="System.Management.Automation.Debugger.DebuggerStop"/> event,
30
-
/// we drop into a nested debug prompt and execute things in the debugger with <see cref="System.Management.Automation.Debugger.ProcessCommand(PSCommand, PSDataCollection{PSObject})"/>,
31
-
/// which enables debugger commands like <c>l</c>, <c>c</c>, <c>s</c>, etc.
32
-
/// <see cref="Microsoft.PowerShell.EditorServices.Services.PowerShell.Debugging.PowerShellDebugContext"/> saves the event args object in its state,
33
-
/// and when one of the debugger commands is used, the result returned is used to set <see cref="System.Management.Automation.DebuggerStopEventArgs.ResumeAction"/>
34
-
/// on the saved event args object so that when the event handler returns, the PowerShell debugger takes the correct action.
27
+
/// When we handle the <see cref="Debugger.DebuggerStop"/> event, we drop into a nested debug
28
+
/// prompt and execute things in the debugger with <see cref="Debugger.ProcessCommand(PSCommand,
29
+
/// PSDataCollection{PSObject})"/>, which enables debugger commands like <c>l</c>, <c>c</c>,
30
+
/// <c>s</c>, etc. <see cref="PowerShellDebugContext"/> saves the event args object in its
31
+
/// state, and when one of the debugger commands is used, the result returned is used to set
32
+
/// <see cref="DebuggerStopEventArgs.ResumeAction"/> on the saved event args object so that when
33
+
/// the event handler returns, the PowerShell debugger takes the correct action.
// This must be called BEFORE the debug PowerShell has been popped
136
127
[System.Diagnostics.CodeAnalysis.SuppressMessage("Performance","CA1822:Mark members as static",Justification="This method may acquire an implementation later, at which point it will need instance data")]
0 commit comments