Qt: дебаг по-русски (06.12.2018). Печать
2018 - Декабрь
06.12.2018 19:08
Save & Share
Qt v.5.5.1, не такая уж и старая версия - а так и не исправили разработчики страшный баг: в дебаггере нет возможности раскрывать и просматривать нестандартные структуры данных. Стандартный массив - пожалуйста; а вот если структура сделана своими руками, да еще и многоуровневая, - до свидания. Сначала вручную копипастил название необходимого элемента структуры через кучу точек, изменял индекс - отображалось значение (именно элементы были стандартными вида QString, float). Потом - достало.
Все закончилось тем, что в ПО был создан фрейм, открывающийся поверх всех элементов при нажатии горячей клавиши. На фрейме были созданы кнопки, позволяющие бегать по самописной структуре и просматривать все ее значения. В данной структуре бег был реализован по времени и по параметрам.



Это оказалось очень мощным инструментом разработки, т.к. показывается информация именно наглядно, а не как в дебаггере любого языка (сначала смотришь текст[120], потом значение[120], потом стимул[120] - неудобно). В результате было убрано около десятка различных ошибок и неточностей, мелких и незаметных без наглядного отображения. Например, на текущем рисунке неправильно написана формула расчета тока: в исходном коде поправили, а в названии параметра - забыли. И ни на каком графике напряжений от времени такого не заметить.

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

Если же анализируются какие-то параметры во времени - модуль построения графиков также будет очень кстати.
Обновлено ( 30.03.2019 12:10 )