У команды запуска можно спросить, какое окружение увидит дочерний процесс
10.05.2026У команды запуска процесса появился метод, возвращающий итоговое окружение дочернего процесса — то, каким оно будет после применения всех накопленных изменений.
Какая была проблема
Команда запуска позволяет задать окружение: добавить переменные, убрать, очистить целиком. Всё это накапливается, и итоговое окружение вычисляется только в момент запуска, внутри.
Обёрткам вокруг сборки это создавало проблему. Отладчик, трассировщик, система сборки с удалённым исполнением — им нужно знать, какое окружение получит процесс, чтобы подготовить его тем же способом. Раньше это приходилось воспроизводить самостоятельно, повторяя внутреннюю логику.
Чем это опасно
Повторение логики расходится с настоящей при любом её изменении. Программа, которая готовит окружение для дочернего процесса, начинает передавать не то — и ошибка проявляется в дочернем процессе, где указать на её источник невозможно.
Оригинал
add Command::get_resolved_envs
Упоминаний: 1 · Просмотров: 2