Новая версия платформы MetaTrader 5 build 3660: Улучшения и исправления - страница 10

 
fxsaber #:

Сейчас это делаю тремя нажатиями: F9, F5, F9.

А в Microsoft Visual Studio это делается при помощи Ctrl + F10.

Хотелось бы такое же в MT.

 
Koldun Zloy #:

А в Microsoft Visual Studio это делается при помощи Ctrl + F10.

Хотелось бы такое же в MT.

Часто востребовано дойти до текущей строки без расставленных точек останова.


Например, нужно пройти цикл, внутри которого есть останов по if-условию.

 
fxsaber #:

Часто востребовано дойти до текущей строки без расставленных точек останова.


Например, нужно пройти цикл, внутри которого есть останов по if-условию.

А в студии есть и остановка по условию.

Этого здесь наверно вообще не допросишься.

 
Sergey Gridnev #:
Вы просто не поняли о чем речь. 🤷🏻‍♂️

А вы умеете этим пользоваться?

 
Koldun Zloy #:

А в студии есть и остановка по условию.

Этого здесь наверно вообще не допросишься.

Вот уж от вас я не ожидал такого… 

if(i > 50)
 DebugBreak();

Программная точка останова при отладке

Документация по MQL5: Общие функции / DebugBreak
Документация по MQL5: Общие функции / DebugBreak
  • www.mql5.com
DebugBreak - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov #:

Вот уж от вас я не ожидал такого…

Программная точка останова при отладке

Это не то.

В студии можно задать условие точке останова.

Например, чтобы в цикле она сработала при определённом значении переменной.

Как обойти вопроса не было. Это и так понятно.

 
Если уж пошли вопросы отладки, то лично мне не хватает возможности не только читать переменные, но и редактировать. Условных точек останова тоже не хватает.
 
Koldun Zloy #:

Это не то.

В студии можно задать условие точке останова.

Например, чтобы в цикле она сработала при определённом значении переменной.

Как обойти вопроса не было. Это и так понятно.

Я не пользовался студией, не знаю как там. Но это ведь не способ обойти, а остановка по условию. Правда такая запись как привёл я i>50 замучает при цикле как у fxsaber`a останавливаясь от 51 до 100 включительно. Это конечно замучает. И конечно проблема, что нельзя это добавить в ходе выполнения программы в режиме отладки. Потому и пользуются таким способом как показал fxsaber, ставится никчёмная строка под условием и если уже это не надо, то просто снимается точка останова.

Ну да, если в студии можно не прерывая выполнение отладки добавить точку останова по условию, то это конечно круто…

 
fxsaber #:

Идея в том, что при выполнении все промежуточные точки останова будут проигнорированы?

Вот тут хорошо описаны аж 2 разных способа (с игнорированием и без игнорирования), которых не хватает в МЕ.

Debug code with force run to cursor
Debug code with force run to cursor
  • Harshada Hole
  • devblogs.microsoft.com
Starting Visual Studio 2022 Preview 2, you can use "Force Run To Cursor". It is like "Run To Cursor," but you can keep your breakpoints, and the debugger will skip over them until it reaches the line of code with the cursor. It will also skip any of the first-chance exceptions break conditions that may occur.