У команды запуска можно спросить, какое окружение увидит дочерний процесс

10.05.2026

У команды запуска процесса появился метод, возвращающий итоговое окружение дочернего процесса — то, каким оно будет после применения всех накопленных изменений.

Какая была проблема

Команда запуска позволяет задать окружение: добавить переменные, убрать, очистить целиком. Всё это накапливается, и итоговое окружение вычисляется только в момент запуска, внутри.

Обёрткам вокруг сборки это создавало проблему. Отладчик, трассировщик, система сборки с удалённым исполнением — им нужно знать, какое окружение получит процесс, чтобы подготовить его тем же способом. Раньше это приходилось воспроизводить самостоятельно, повторяя внутреннюю логику.

Чем это опасно

Повторение логики расходится с настоящей при любом её изменении. Программа, которая готовит окружение для дочернего процесса, начинает передавать не то — и ошибка проявляется в дочернем процессе, где указать на её источник невозможно.

Оригинал

add Command::get_resolved_envs

Упоминаний: 1 · Просмотров: 2