Использовать отладчик в BPMonline можно только в том случае, если система развернута у Вас локально – для базы OnDemand этого сделать не получится.

Настройка:

1. В Web.config добавить ключ IncludeDebugInformation

       
       

111

Обратите внимание, для версии 5.2 и младше Web.config находится в корневой директории. Для версии 5.3 и выше - в директории Terrasoft.WebApp

После изменения Web.config необходимо перезапустить сервер IIS

2. Затем следует опубликовать хотя бы одну схему в конфигурации (сгенерировать исходный код). В результате в папке %TEMP%\BPMonline\Src появятся файлы с расширением .cs с исходным кодом конфигурации на C#, которые используются для сборки dll-библиотеки конфигурации (TSBpm.dll), подключаемой в сборку по завершении генерации исходных кодов.

3. Для отладки необходимо:

a. открыть в Visual Studio .cs-файл той схемы, на которой мы хотим отлаживаться

222

b. установить в нем в интересующем нас месте точку останова средствами Visual Studio

111

c. Присоединиться к процессу сервера IIS, запущенного на машине и выполнить те действия, которые приведут скрипт в точку останова

333

111

Отсюда уже можно отлаживаться обычными средствами.

Нравится

Поделиться

23 комментария

Анна, мне кажется тут не хватает еще одного пункта. В самой студии следует указать какие именно ошибки отлавливать: Открыть окно настроек можно комбинацией Ctrl+Alt+E после того как присоединишься к процессу сервера IIS.

К какому процессу подключаться, если используется не IIS Express? Где искать исходный код, если процесс IIS запущен под системной учетной записью? Если пишите о чем то, пишите о условиях, в которых можно воспользоваться этой возможностью.

Максим, большое спасибо за дополнение :)

Алексей, благодарю за вопросы :)

"Агутин Алексей" написал:К какому процессу подключаться, если используется не IIS Express?

Если установлен полный IIS, следует подключаться к процессу w3wp.exe

Где искать исходный код, если процесс IIS запущен под системной учетной записью?

Если IIS запущен под системной учетной записью, тогда исходные коды конфигурации появляются в C:\Windows\Temp\BPMonline

Открыла в студии файлик страницы, присоединилась к процессу, указала брейкпойнт в Init-e, но при открытии этой страницы в BPM перехода в точку не происходит

Здравствуйте, Ольга!

Для того, чтобы отладка работала, нужно, чтобы файлы схем были сгенерированы в текущей сесссии IIS.

Попробуйте удалить все файлы, сгенерировать исходный код для любой из схем, и только затем открывать ее в Visual Studio и устанавливать точку останова.

Добрый день!
Открываю файл для отладки, присоединяюсь к процессу IIS w3wp.exe, но перехода к точке останова не происходит.
При присоединении к процессу значок точки останова меняется и пишется сообщение:
В настоящий момент попадания в точку останова не произойдет. Нет загруженных символов для данного документа.

Подскажите, пожалуйста, что это значит?

Прикладываю скрин

Иногда нужно несколько раз попробовать снять и снова поставить брекпойнт, изредка нужно опубликовать какую-нибудь схему, чтобы подхватило.

Нет, все равно ни в какую не подхватывается.

Странно. А раньше на этом компьютере всё работало (то есть настройки правильные) или это первая попытка отладить?

Нет, раньше отлаживал только TS 3.X.
Для BPMOnline 7 это первая попытка.

Тогда проверьте настройки конфиг-файлов для отладки согласно статье, но учтите, что она о 5.X.

Тут вроде все верно

Попробовал поставить другую версию Visual Studio, не помогло.

Дмитрий, у 7.0 другое ядро, и возможность отладки конфигурации on-site доступна только при наличии исходников. Пожалуйста, опишите задачу, которую Вам необходимо реализовать, и направьте запрос в техническую поддержку по адресу support@terrasoft.ru - Вам предоставят оптимальное решение.

О, а это что за ошибка?
http://joxi.ru/bhoAVP3JTJAANWyJB4U
Я точно знаю что этот код выполняется, почему отладчик к нему не цепляется?

Очевидно, ошибка в строке №11554.

Илья, уточните, пожалуйста, какая у вас версия BPMonline? Очень похоже, что вы пытаетесь отлаживать 7.Х, а у нее другое ядро и отладка без исходных кодов невозможна.

"Alimova Anna" написал:

bpm 5.x onsite , причем днем ранее у меня получилось отладить по этой же инструкции другой скрипт.

В таком случае попробуйте закрыть отладчик, удалить xml-ки схем, скомпилировать любую схему заново и уже новые схемы открывать отладчиком.

"Alimova Anna" написал:7.Х, а у нее другое ядро и отладка без исходных кодов невозможна

Анна, здравствуйте!

Уточните, пожалуйста, как правильно отлаживать on-site 7.Х? И как получить исходные коды?

Для отладки конфигурационного c# кода в 7.х нужно:
1) В файле connectionstrings.json указать, куда будет выгружены исходные коды при компиляции, это параметр
2) В файле Terrasoft.WebApp\Web.config флаг установить в true
3) Перезапустить пул и сайт приложения
4) В конфигурации для нужной схемы вызвать действие «Сгенерировать исходный код»
5) Скомпилировать конфигурацию. Если все правильно настроено, на этом этапе в папке, указанной в первом пункте появятся исходные коды и символы для отладки:

Валерий, спасибо, за разъяснения! Можно уточнить:

"Адасюк Валерий Викторович" написал:1) В файле connectionstrings.json указать, куда будет выгружены исходные коды при компиляции, это параметр

Какой параметр? (defWorkingCopyPath, defPackagesWorkingCopyPath или какой-то другой?)

"Адасюк Валерий Викторович" написал:2) В файле Terrasoft.WebApp\Web.config флаг установить в true

Какой флаг?

Здравствуйте!

Оба параметра находятся в файле Web.config директории Terrasoft.WebApp.
1. Параметр пути выгрузки исходного кода: CompilerSourcesTempFolderPath.
Например: add key="CompilerSourcesTempFolderPath" value="c:\src\BPM\" /

Показать все комментарии

Подскажите какие отладчики, кроме стандартного Microsoft Script Debugger и отладчика Visual Studio можно использовать?

Я скачал с сайта Microsoft Debugging Tools for Windows (x86), там идет WinDbg.exe дебагер, но как его активизировать для JScript? А может он просто его не поддерживает.

Может есть какие-то бесплатные альтернативы, ну хоть что-то лучше чем Microsoft Script Debugger?

ПС: быстро пробежался поиском по комюнити - не нашел темы по этому поводу. Если такая тема уже поднималась, то я удалю мой пост.

Нравится

4 комментария

Например, Microsoft Script Editor. У него, конечно, намного меньше возможностей, чем у Visual Studio, но как по мне, гораздо лучше Microsoft Script Debugger.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Спасибо, я с ним сталкивался мимолетно, теперь я понял откуда он взялся - из MS Office 2003.

Вот жаль: из 2007 офиса его убрали и только этот офис стоит у заказчика. Может еще есть какие-то альтернативы?

На самом деле его не убрали, а просто не установили при установке офиса. При желании его можно доустановить:

Более подробную информацию по установке можно найти здесь.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Спасибо за помощь :smile:
По той ссылке я был, видно не все комментарии прочитал и не увидел, что в 2007 офисе тоже дебагер есть.

Показать все комментарии