1. Активируем возможность отладки скриптов:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings]
"JITDebug"=dword:00000001
2. В скрипте карточки ставим точку останова с помощью оператора "stop" в нужном месте. На выполнении этой команды выскакивает окно выбора отладчика.
Ну и далее запускаем студию и отлаживаем.
"Брякнулись":
IntelliSense в действии:
Если окно выбора отладчика не появляется, то удостоверьтесь, что в настройках MSVS: Options -> Debugging -> Just-in-Time стоит галочка "Script".
Для отладки скриптов также есть отладчик Microsoft Script Debugger, но он совсем уж простой, даже функционал watches отсутсвует, что сводит его полезность почти на нет. Также есть инструмент Microsoft Script Editor, но его поддержка ограничивается 2003-им офисом, что тоже является проблемой.
Поэтому лучше всё-таки использовать полноценную среду MSVS. Подойдёт даже бесплатная Express-редакция.
Читать дальше
7 коммент.:
Также, при возникновении исключения в скрипте, автоматически вызывается окно выбора отладчика, без использования лексемы stop. Скрипт при этом может быть зашифрованным :)
А как это сделать для скриптов в бизнес-процессах, написаных на C#? Тоже хочется отладки, да...
Бизнес-процессы обрабатываются службой Workflow (и даже не в реальном времени) на сервере приложений, поэтому отлаживать сценарии БП не получится. Однако, было обещание со стороны разработчиков в DV 5.0 улучшить редактор сценариев БП (подсветка точно должна быть). Возможно, мне кажется, реализовать какое-то доп. средство (может с интеграцией в MSVS), которое позволить отладить конкретный сценарий БП, но не думаю, что будет что-то подобное реализовано.
Тем не менее, сейчас вы можете конкретный сценарий писать в MSVS, с подсветкой и проверкой кода на очепятки и корректность синтаксиса. Для этого нужно создать пустой проект и подключить ключевые библиотеки (см. заголовок сценария БП).
Можно написать тестовый проект: экспортировать БП в xml, написать код, который из xml выдерет контекст - сформирует вызов метода
Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo) на основе этого контекста.
Далее можно было бы это автоматизировать как то, чтобы экспорт xml происходил по ссылке на БП.
Хм... Может сработать...
>Подойдёт даже бесплатная Express-редакция.
Не подходит
Можно написать тестовый проект: экспортировать БП в xml, написать код, который из xml выдерет контекст - сформирует вызов метода
Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo) на основе этого контекста.
Далее можно было бы это автоматизировать как то, чтобы экспорт xml происходил по ссылке на БП.
Хм... Может сработать...
А примера случайно нет такого? Или подскажите пожалуйста, где можно прочитать описание инициализации этих параметров из XML БП ?
Отправить комментарий