Как отладить функцию OnTesterDeinit() в отладчике?

 

Всех приветствую. 

У меня в функции OnTesterDeinit() собираются фреймы тестирования, и производится предварительный отбор параметров.  Возникло подозрение, что у меня там может возникать ошибка. Хорошо бы пройтись под отладчиком. Как это сделать? 

То есть, надо запустить, скажем, "полную оптимизацию" на десятке проходов, а потом - посмотреть, как собирается десять фреймов, и проверить возможность ошибки. 

Такое ощущение, что я это когда-то делал, но сейчас не могу запустить... Даже функция OnTesterPass() не вызывается. Как пройти в отладчике сбор фреймов в функции OnTesterDeinit? 

 
OnTesterDeinit отладить через дебагер не получится. Однако, фреймы после оптимизации должны быть доступны и из других программ. Поэтому можно часть подозрительного кода OnTesterDeinit поместить в OnStart другого скрипта и отладить по классике.
 
fxsaber #:
OnTesterDeinit отладить через дебагер не получится. Однако, фреймы после оптимизации должны быть доступны и из других программ. Поэтому можно часть подозрительного кода OnTesterDeinit поместить в OnStart другого скрипта и отладить по классике.

Вот, чувствую, так делать и придётся. Не думал, что фреймы доступны из других программ. Благодарю за быстрый ответ,  fxsaber.

Чуть позже попробую.

 

Нет, похоже, всё не так просто... 

Сразу после оптимизации сам оптимизируемый эксперт написал, что фреймы есть, верное количество - в функции OnTesterDeinit() фреймы подсчитываются через FrameFirst()-FrameNext(). 

Но после этого запуск скрипта, собирающего фреймы, показал совсем другое - функция FrameFirst() прошла безошибочно, а вот вызванная далее функция FrameNext() возвратила код ошибки 4000, который даже не описан в списке кодов!

 
Georgiy Merts #:

после этого запуск скрипта, собирающего фреймы, показал совсем другое - функция FrameFirst() прошла безошибочно, а вот вызванная далее функция FrameNext() возвратила код ошибки 4000, который даже не описан в списке кодов!

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

 
fxsaber #:

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

Да, остаётся только прямое чтение mqd-файла... Эх... Сложную обработку в функции OnTesterDeinit() сделать невозможно... 

 
Georgiy Merts #:

Да, остаётся только прямое чтение mqd-файла... Эх... Сложную обработку в функции OnTesterDeinit() сделать невозможно... 

Почему невозможно?

Возможно, просто вам нужно найти способ, как определить, где у Вас ошибка. 

Если не получается под отладчиком, выводите данные в журнал.

 
Anatoli Kazharski #:

Почему невозможно?

Возможно, просто вам нужно найти способ, как определить, где у Вас ошибка. 

Если не получается под отладчиком, выводите данные в журнал.

Да, можно и так. 

Все-таки непонятно, что за ошибка после вызова FrameNext() - код 4000 ?

Ау, админы, что это за ошибка? 

В принципе, похоже на ошибку "больше фреймов нет". Но, хотелось бы четко это понимать.

 
Georgiy Merts #:

Все-таки непонятно, что за ошибка после вызова FrameNext() - код 4000 ?

Все упоминания.

Причина обращения: