Имя: Пароль:
1C
1С v8
Отладка com
0 EarthsSoul
 
14.05.13
11:51
Здравствуйте

Создаю com соединение, в этом соединении создаю обработку обмена с типом com объект. И у обработки вызываются различные процедуры, возможно ли отладить обработку этих процедур ?
1 olegves
 
14.05.13
11:52
(0) возможно
2 EarthsSoul
 
14.05.13
12:00
Создал файл comcntrcfg.xml с текстом

<config xmlns="http://v8.1c.ru/v8/comcntrcfg">
 <debugconfig debug="true" debuggerURL="tcp://localhost:1965"/>
</config>

Кластер крутится на порту 1941.

Если в отладке ставлю замер производительности то вижу в какие общие модули отрабатывают, но не модуль обработки как будто не запускается ... Хотя понятно что эти модули запускаются из обработки.

точки останова в общих модулях работают, а в обработке нет.
3 EarthsSoul
 
14.05.13
12:05
Ребята у кого есть идеи ?
4 бомболюк
 
14.05.13
12:07
а если debuggerURL убрать?
5 Nexux
 
14.05.13
12:08
так может версия конфигурации в метаданных, которая в com отличается?
6 EarthsSoul
 
14.05.13
12:10
(5) конфигурации обновлены, все ок)
7 EarthsSoul
 
14.05.13
12:10
(4)
debuggerURL вроде как будут использоваться стандартный диапазон портов, если я правильно понимаю документацию
8 Nexux
 
14.05.13
12:11
либо, например, контекст уезжает на сервер в модуль обработке, а сервер x64, тогда надо в соотвествующий каталог закидывать comcntrcfg
9 бомболюк
 
14.05.13
12:12
может все банально, и у тебя в отладчике открыта не запускаемая обработка, а ее копия, которая по другому пути находится?
10 EarthsSoul
 
14.05.13
12:14
У меня обработка встроенная (9), и главное в замере производительности не видно модулей обработки, (8) сейчас везде свой файл закину ))
11 EarthsSoul
 
14.05.13
13:08
Закинул файл comcntrcfg.xml

в папки

C:\Program Files (x86)\1cv82\conf
C:\Program Files (x86)\1cv82\8.2.18.61\bin\conf

C:\Program Files\1cv82\conf
C:\Program Files\1cv82\8.2.18.61\bin\conf

8.2.18.61 - версия сервера.
Перезапустил сервер 1с.

И все равно в отладку процедур обработки не заходит, еще идеи ?
12 Nexux
 
14.05.13
13:16
сервер запущен без ключа -debug
13 бомболюк
 
14.05.13
13:16
а строка, где создаешь объект обработки (типа Объект = Обработки.ХХХ.Создать()) - она доступна в отладчике?
14 EarthsSoul
 
14.05.13
13:16
с ключом -debug (12)
15 EarthsSoul
 
14.05.13
13:17
(13) нет, она создается в базе источнике
16 wowik
 
14.05.13
13:19
17 EarthsSoul
 
14.05.13
13:27
(16) все так и делал фактически, (13) мне интересно это важно ? У меня ведь и в правду вызывается метод com объекта
18 Nexux
 
14.05.13
13:37
а для отладки, открыта конфигурация, которая открывается по com? автоматическое подключение к сеансам отладки установлено?
19 EarthsSoul
 
14.05.13
13:38
Автоматическое подключение и к клиентским и внешним соединениям стоит
20 EarthsSoul
 
14.05.13
13:40
(13) зачем спрашивал ? просто так ?
21 Nexux
 
14.05.13
13:42
может быть еще порт закрыт в firewall
22 EarthsSoul
 
14.05.13
13:44
Говорю же часть кода в замере производительности видно и видно только общие модули, модуль обработки где ошибка, не видно ...
23 Nexux
 
14.05.13
13:54
ну еще можно поизвращаться, заменив вызов обработки из com, на вызов ее из модуля внешенго соединения, а там, когда уже будет поключена отладка с соединению по F11 ))
24 EarthsSoul
 
14.05.13
14:05
(23) суть не очень понимаю, можно подробнее ?
25 olegves
 
14.05.13
14:45
(22) ты используешь обработку той конфы, куда цепляешься по СОМу?
Если так, то не взлетит. Для обработки создается форма, которая не может быть доступна через СОМ-конектор
26 olegves
 
14.05.13
14:46
+ (25) можешь использовать только процедуры глобальных модулей
27 olegves
 
14.05.13
14:48
для отладки можешь использовать несколько констант, которые меняются в процедуре глобального модуля. После отладки можешь их удалить
28 Nexux
 
14.05.13
15:48
(24) поменять код вызова обработки с ОбъектСоединения.Обработки.....Создать()
на ОбъектСоединения.ИмяПроцедурыМодуляВнешнегоСоедиения(), в котором будет запускаться обработка
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс