Использовать отладчик в 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\" /

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