Некоторое время я столкнулся со странной проблемой. Я должен реализовать конвейер CI для проекта, над которым работаю. Предполагается, что конвейер собирает проект (на C) и запускает тесты. Сборка и тесты выполняются в среде Windows. Все инициализируется через скрипт Python. Все работало на другой платформе в течение многих лет, я просто перехожу на новую платформу.
У меня были проблемы с запуском скрипта Python, о котором я упоминал - он запускался, доходил до определенной точки, а затем вылетал без какой-либо полезной информации. Поэтому я решил подключиться к машине напрямую и запустить сценарий. Запустил скрипт и все заработало без проблем.
Проверяю пользователя - то же самое. Я сравнил переменные среды, это тоже не проблема. Затем я проверил PML с помощью ProcMon и нашел «что-то». Предполагается, что сценарий Python запускает исполняемый файл, назовем его exe1, который далее запускает исполняемый файл exe2. Выполнение прерывается в момент вызова exe2. Стоит отметить, что в PML нет лога попыток создания процесса для exe2. Кроме того, было бы не так уж странно, если бы до этого exe2 не вызывался несколько раз. Таким образом, он ломается при первом вызове exe1 exe2, но не тогда, когда exe2 запускается сам по себе.
Затем я использовал gflags и ProcDump, чтобы проверить, нет ли каких-либо повреждений памяти, и что-то нашел. Основная проблема на тот момент заключалась в том, что у меня нет возможности получить символы отладки, но я нашел использование после освобождения, которое вызывает сбой в ранее упомянутом exe1.
Мой вопрос: почему это происходит на 100% строго в конвейере, а не непосредственно на машине? В каком направлении мне следует двигаться в отладке? Я предполагаю, что это как-то связано с некоторыми очень специфическими политиками Windows, но я не знаю, как это отладить. Также, если есть инструменты, которые вы могли бы порекомендовать мне для этой задачи, я был бы признателен.
Подробнее здесь: https://stackoverflow.com/questions/799 ... e-pipeline
Работает непосредственно на машине, а не в конвейере. ⇐ Python
Программы на Python
-
Anonymous
1772988380
Anonymous
Некоторое время я столкнулся со странной проблемой. Я должен реализовать конвейер CI для проекта, над которым работаю. Предполагается, что конвейер собирает проект (на C) и запускает тесты. Сборка и тесты выполняются в среде Windows. Все инициализируется через скрипт Python. Все работало на другой платформе в течение многих лет, я просто перехожу на новую платформу.
У меня были проблемы с запуском скрипта Python, о котором я упоминал - он запускался, доходил до определенной точки, а затем вылетал без какой-либо полезной информации. Поэтому я решил подключиться к машине напрямую и запустить сценарий. Запустил скрипт и все заработало без проблем.
Проверяю пользователя - то же самое. Я сравнил переменные среды, это тоже не проблема. Затем я проверил PML с помощью ProcMon и нашел «что-то». Предполагается, что сценарий Python запускает исполняемый файл, назовем его exe1, который далее запускает исполняемый файл exe2. Выполнение прерывается в момент вызова exe2. Стоит отметить, что в PML нет лога попыток создания процесса для exe2. Кроме того, было бы не так уж странно, если бы до этого exe2 не вызывался несколько раз. Таким образом, он ломается при первом вызове exe1 exe2, но не тогда, когда exe2 запускается сам по себе.
Затем я использовал gflags и ProcDump, чтобы проверить, нет ли каких-либо повреждений памяти, и что-то нашел. Основная проблема на тот момент заключалась в том, что у меня нет возможности получить символы отладки, но я нашел использование после освобождения, которое вызывает сбой в ранее упомянутом exe1.
Мой вопрос: почему это происходит на 100% строго в конвейере, а не непосредственно на машине? В каком направлении мне следует двигаться в отладке? Я предполагаю, что это как-то связано с некоторыми очень специфическими политиками Windows, но я не знаю, как это отладить. Также, если есть инструменты, которые вы могли бы порекомендовать мне для этой задачи, я был бы признателен.
Подробнее здесь: [url]https://stackoverflow.com/questions/79903342/works-directly-on-the-machine-but-not-in-the-pipeline[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия