Когда я остановлен на точке останова в ISE, консоль корректно отображает все мои текущие переменные, кроме $ args.
Рассмотрим следующий (очень простой) скрипт:
$args.Count
$args[0]
$x = $args.Count
$y = $args[0]
$x
$y
Write-Output "done"
Я запускаю скрипт в PS ISE следующим образом и устанавливаю точку останова на последней строке.
test.ps1 "abc"
Я получаю следующий (правильный) вывод:
1
abc
1
abc
Но тогда, если янапечатайте следующее в консоли ISE, все еще находясь на точке останова:
$args.Count
$args[0]
это отображает:
0
А именно, окно консоли думает, что $ args пусто.Почему это так?
Если в консоли отобразить другие переменные сценария, «$ x» и «$ y», они будут отображаться правильно.