как поймать ошибку в коде?

Ответить
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

как поймать ошибку в коде?

Сообщение Boris »

Сразу скажу - я плохо знаю python и редко пользуюсь GDAL на нем.
Но есть программа на python'е, которую время от времени я использую и каждый раз с матом - перематом - это GDAL_CALC. Про ее интуитивную "очевидность" и набор справочных материалов, я в это раз спрашивать не буду.

Сразу перейду к очевидному - к коду, к которому обычно посылают на любом вопросе по GDAL, в ответе 3-м или 4-м. Там кода страшно не богато, но как понять, что именно в 60%-80% случаев вызывает ошибку?
21.08.jpg
21.08.jpg (33.17 КБ) 16637 просмотров
Потому как выходной растр создается всегда. Просто очень не удобно для утилиты командной строки в конце каждого вызова сидеть и нажимать "закрой программу".
ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: как поймать ошибку в коде?

Сообщение ericsson »

Запускать с параметром -debug и сохранить это в лог, показать тут...
Еще, если все получается, но раздражает ошибка, можно запускать batch-файлом, в конце которого будет вызов pskill.
Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: как поймать ошибку в коде?

Сообщение Александр Мурый »

Boris писал(а): 21 авг 2017, 00:51Сразу перейду к очевидному - к коду
Таки где же сам код?
Редактор материалов, модератор форума
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: как поймать ошибку в коде?

Сообщение gamm »

лучше поставить Visual Studio + Python toolkit, и запускать в отладчике. Но GDAL - это на 99% ошибка с путями и русскими буквами ...
trir
Гуру
Сообщения: 5354
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: как поймать ошибку в коде?

Сообщение trir »

Спойлер
лучше поставить Visual Studio + Python toolkit, и запускать в отладчике
в visual studio community Python toolkit идёт в комплекте, но pyCharm тоже ничего...
ЗЫ spoiler не работает...
freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: как поймать ошибку в коде?

Сообщение freeExec »

Да ошибка скорее всего в используемых бинарниках, а не питоне, поэтому исправить её вряд ли удастся.
alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: как поймать ошибку в коде?

Сообщение alexandr cherepanov »

Была аналогичная проблема, решения не нашел. Насколько понял это какой-то конфликт Windows и Numpy. На работе скрипта это никак не сказывалось, просто раздражало появление ошибки в конце. Заморачиваться с переустановками не стал. Просто не использую gdal_calc.py.
С версии GDAL 2.2 вроде как всю растровую алгебру можно делать через VRT Derived Bands.
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: как поймать ошибку в коде?

Сообщение Boris »

Александр Мурый писал(а): 21 авг 2017, 09:29Таки где же сам код?
Сам код в стандартном пакете GDAL: утилита Gdal_Calc.bat на основе Gdal_calc.py.
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: как поймать ошибку в коде?

Сообщение Boris »

Хорошо переформулирую вопрос - как радикально, но корректно - с закрытием открытых файлов и очисткой памяти (все таки растры занимают ее обильно), закрыть программу на python'е. Есть очень большая уверенность, что сбой происходит в последнем "return".
Serpuh
Новоприбывший
Сообщения: 11
Зарегистрирован: 27 авг 2017, 14:46
Репутация: 0
Откуда: Москва

Re: как поймать ошибку в коде?

Сообщение Serpuh »

Бесплатная Visual Studio + python tools for visual studio
https://www.microsoft.com/ru-ru/SoftMic ... unity.aspx
http://streletzcoder.ru/ustanovka-podde ... udio-2015/
Тогда можно отладчиком пройтись по коду и посмотреть где вылетает.
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: как поймать ошибку в коде?

Сообщение Boris »

Спасибо за ответы. Буду посмотреть. ;)
Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость