PowerShell:
Usando un depurador

Cómo hacerlo:

En PowerShell, puedes depurar scripts utilizando el Entorno de Scripting Integrado de PowerShell (ISE) incorporado o Visual Studio Code (VS Code) con la extensión de PowerShell. Aquí te explicamos cómo usar puntos de interrupción en ambos:

PowerShell ISE:

# Establece un punto de interrupción en una línea específica
Set-PSBreakpoint -Script .\MyScript.ps1 -Line 5

# Ejecuta tu script normalmente
.\MyScript.ps1

# Cuando el script llegue al punto de interrupción, puedes inspeccionar variables
$myVariable

# Continúa la ejecución
Continue

Visual Studio Code:

# Abre tu script de PowerShell en VS Code.
# Haz clic a la izquierda del número de línea para establecer un punto de interrupción.
# Inicia la depuración presionando F5 o haciendo clic en 'Iniciar Depuración'.

# VS Code detendrá la ejecución en tu punto de interrupción.
# Usa el panel de depuración para observar variables, inspeccionar la pila de llamadas y controlar el flujo.

La depuración en ambos entornos te permite entrar en (F11), pasar sobre (F10) y salir de (Shift+F11) durante la depuración.

Profundización

Históricamente, la depuración en PowerShell era un poco torpe; requería muchas líneas de Write-Host para mostrar el estado de las variables o el clásico método de prueba y error. Con la llegada de PowerShell ISE, y más recientemente, VS Code con sus ricas características de depuración, la depuración de PowerShell se volvió casi tan intuitiva como en lenguajes de programación completos.

Alternativas a las herramientas de depuración nativas de PowerShell incluyen herramientas de terceros como PowerGUI o el uso de IDEs robustos como Visual Studio con un complemento de PowerShell.

Cuando implementes un depurador, considera el ámbito del script, especialmente cuando trabajes con scripts dot-sourced o módulos. Los puntos de interrupción pueden basarse en condiciones, cambios de variables o ser específicos de una línea, lo que permite un control preciso durante una sesión de depuración.

Además, con la transición a PowerShell Core (PowerShell multiplataforma), la depuración ha pasado en gran medida a manos de VS Code, que ofrece una experiencia consistente en diferentes plataformas.

Ver También

Para más información sobre depuración en PowerShell: