Verbesserungen beim Debuggen von PowerShell-SkriptsImprovements in PowerShell Script Debugging

Für PowerShell 5.0 wurden zahlreiche Verbesserungen vorgenommen, um das Debuggen zu verbessern:A number of improvements were made in PowerShell 5.0 to enhance the debugging experience:

Alle unterbrechenBreak All

Die PowerShell-Konsole und Windows PowerShell ISE ermöglichen Ihnen nun bei der Ausführung von Skripts, den Debugger zu unterbrechen.The PowerShell console and Windows PowerShell ISE now allow you to break into the debugger for running scripts. Dies funktioniert in lokalen und Remotesitzungen.This works in both local and remote sessions.

Drücken Sie in der Konsole STRG+UNTBR.In the console, press Ctrl+Break.

Drücken Sie in der ISE STRG+B,, oder verwenden Sie den Menübefehl Debuggen -> Alle unterbrechen.In ISE, press Ctrl+B, or use the Debug -> Break All menu command.

Remotedebuggen und Remotedateibearbeitung in der Windows PowerShell ISERemote debugging and remote file editing in Windows PowerShell ISE

Die Windows PowerShell ISE ermöglicht nun das Öffnen und Bearbeiten von Dateien in einer Remotesitzung, indem der Befehl „PSEdit“ ausgeführt wird.Windows PowerShell ISE now lets you open and edit files in a remote session by running the PSEdit command. Sie können z. B. eine Datei zur Bearbeitung in der Befehlszeile in einer Remotesitzung wie folgt öffnen:For example, you can open a file for editing from the command line in a remote session as follows:

[RemoteComputer1]: PS C:\> PSEdit C:\DebugDemoScripts\Test-GetMutex.ps1

Darüber hinaus können Sie nun Bearbeitungen vornehmen und Änderungen in einer Remotedatei speichern, die in Windows PowerShell ISE automatisch geöffnet wird, wenn ein Haltepunkt erreicht wird.In addition, you can now edit and save changes in a remote file that is automatically opened in Windows PowerShell ISE when you hit a breakpoint. Sie können nun eine Skriptdatei debuggen, die auf einem Remotecomputer ausgeführt wird, die Datei bearbeiten, um einen Fehler zu beheben, und dann das geänderte Skript erneut ausführen.Now, you can debug a script file that is running on a remote computer, edit the file to fix an error, and then rerun the modified script.

Erweitertes SkriptdebuggingAdvanced Script Debugging

Es gibt neue, erweiterte Debugfunktionen, die an beliebige lokale Computerprozesse angefügt werden können, für die Windows PowerShell geladen ist, und beliebige Runspaces im jeweiligen Prozess debuggen.There are new, advanced debugging features that let you attach to any local computer process that has loaded Windows PowerShell, and debug arbitrary runspaces in that process.

Debuggen von RunspacesRunspace Debugging

Neue Cmdlets wurden hinzugefügt, mit denen Sie aktuelle Runspaces in einem Prozess auflisten und die Windows PowerShell-Konsole oder ISE-Debugger an den jeweiligen Runspace zum Debuggen von Skripts anfügen können:New cmdlets have been added that let you list current runspaces in a process, and attach the Windows PowerShell console or ISE debugger to that runspace for script debugging:

  • Get-RunspaceGet-Runspace
  • Debug-RunspaceDebug-Runspace
  • Enable-RunspaceDebugEnable-RunspaceDebug
  • Disable-RunspaceDebugDisable-RunspaceDebug
  • Get-RunspaceDebugGet-RunspaceDebug

Anfügen an den Prozess, der PowerShell hostetAttach to Process hosting PowerShell

Nun ist ein Anfügen an jeden Computerprozess möglich, für den Windows PowerShell geladen wurde.You can now attach to any computer process that has Windows PowerShell loaded. Starten Sie dazu eine interaktive Sitzung mit dem Prozess ähnlich dem Starten einer interaktiven Remotesitzung, indem Sie das Cmdlet „Enter-PSSession“ ausführen:You do this by entering into an interactive session with the process, similarly to how you enter into an interactive remote session by running the Enter-PSSession cmdlet:

  • Enter-PSHostProcessEnter-PSHostProcess
  • Exit-PSHostProcessExit-PSHostProcess