Мой вопрос в том, следует ли сообщать об этом как об ошибке или запросе функции или так и должно быть? Это просто то, что я заметил, и это не влияет на выполнение кода. Я не знаю, как называется «Стрелка процесса», поэтому я не смог выполнить поиск по форуму, если об этом уже спрашивали раньше (извините за это).
Когда я запускаю отладку (F5) в VS Code Powershell и устанавливаю точку останова, в области задач я вижу «стрелку процесса», показывающую, что код выполняется.
При достижении точки останова «Стрелка процесса» исчезает, как и ожидалось, поскольку выполнение было остановлено. Но если я продолжу выполнение (F5), «Стрелка процесса» больше не появится в области задач. Посмотрите, где находится мой указатель на прикрепленном изображении. После того, как он попадает в точку останова, я нажимаю F5, и выполнение продолжается до тех пор, пока он снова не достигнет точки останова, но «Стрелка процесса» не отображается.
Обновлен еще одним примером, простым циклом For. Прикрепленное изображение все еще здесь, чтобы показать, что я имею в виду под «стрелкой процесса».
Добавьте точку останова на обоих Write-Host. После того, как будет достигнута первая точка останова, нажмите F5, чтобы продолжить. Стрелка процесса не отображается в области задач.
for ($i = 0; $i -lt 10000; $i++) {
write-host $i
if ($i -eq 3758) {
Write-Host "Breakpoint Here"
}
if ($i -eq 6823) {
Write-Host "Breakpoint Here"
}
}
Информация о коде VS:





Это работает как задумано. F5 - продолжить после точки останова. Если после этого не будет другой точки останова, отладка завершится, поскольку будут обработаны все строки кода.
Если вы намеревались выполнить RESTART, по умолчанию VSCode будет CTRL + SHIFT + F5, который будет перезапущен с самого начала.
Я понимаю, о чем вы сейчас говорите. VSCode обрабатывает то, что занимает много времени. Есть ли что-нибудь перед вашим циклом for, для вызова / обработки которого может потребоваться некоторое время (обработка файла / запрос AD / DB)? Вы проверили, что происходит в вашем стеке вызовов?
Вместо этого я заменил текст и заголовок «стрелкой процесса», надеюсь, это проясняет вопрос. Также добавлен еще один простой пример, цикл for. После достижения первой точки останова стрелка процесса не отображается при продолжении выполнения (F5).
Я не знаю, правильно ли я понял вас, Питер К., вопрос не в том, почему для обработки требуется время. Я просто отреагировал на тот факт, что «Стрелка процесса» не отображается после того, как точка останова достигнута и выполнение продолжается. «Стрелка процесса» показывает мне, что скрипт все еще выполняется, но если его нет, мой скрипт все еще работает или нет?
@ AndersNorén это то, о чем я хотел сказать. При выполнении скрипта он должен запускаться мгновенно. Настолько быстро, что стрелку процесса вы должны увидеть только на долю секунды. В этом случае и в вашем гифке он показывает, что ваш скрипт обрабатывал большой объем данных или зависал в операторе. Как только он достиг точки останова, он прекратил обработку. Мой вопрос заключался в том, чтобы увидеть, обрабатывается ли что-нибудь, что могло занять некоторое время; достаточно долго, чтобы увидеть стрелку процесса?
Спасибо, да, за то, что научился проверять учетные записи Office365 на HaveIBeenPwnd. Итак, сначала собрано более 400 учетных записей, а затем проверяется каждое электронное письмо, включая псевдоним.
Тогда это определенно займет немного времени. Ваш VS Code работает правильно :)
Я сообщил об этом как об ошибке, https://github.com/PowerShell/vscode-powershell/issues/1582, и ответ от rjmholt заключается в том, что это, вероятно, проблема с обновлением статуса выполнения при использовании отладчика.
Да, функция F5 работает правильно, как я объяснил в своем вопросе. F5 продолжает выполнение до следующего достижения точки останова или до завершения. Я спрашиваю, почему «круговая стрелка выполнения» не отображается, когда я нажимаю F5 после того, как достигнута точка останова. Я не вижу никаких признаков того, что код выполняется или завис / заморожен. Если вы посмотрите на прикрепленное изображение, вам может потребоваться щелкнуть по нему, чтобы обновить его, вы увидите, где находится мой указатель мыши.