Зазвичай налагоджувачі / IDE Python припускають, що сценарій Python працює в тому ж самому процесі, що й налагодження сценарію, запущеного в ArcMap.exe, є правильним - вам потрібно отримати достатню кількість середовищ сценаріїв GP, завантажених у сценарій Python, наскільки це можливо налагодження с.
Метод, який працював для мене дуже добре протягом останніх кількох років, - це написати простий скрипт, який просто викликає інструмент, і використовувати його в якості мого основного скрипту в IDE Python (Wing або Pythonwin) і встановити мої точки проходу в .py інструменту файл також відкриється в тому ж сеансі IDE.
Тож я в основному це роблю:
- Отримайте набір входів, які не працюють в моєму інструменті сценаріїв
- Відкрийте простий .py файл у тій же папці, що й .tbx, який викликає інструмент
- Відкрийте скрипт абонента та файл .py у програмі скрипта в IDE
- Встановлення точок перерви у файлі інструменту сценарію
- Запустіть сценарій виклику
А мій сценарій виклику, як правило, досить простий:
import os
import arcpy
arcpy.ImportToolbox(os.path.join(os.path.dirname(__file__), 'my.tbx'))
arcpy.MyToolThatIsFailing_myalias("inputs", "that", "don't" "work")
Я намагався winpdb відладжувати сценарії, запущені в ArcMap, але мені ніколи не пощастило. Якщо ви хочете спробувати його, і ви зробите це добре, будь ласка, поділіться своїми висновками.