|
0 / 0 / 1
Регистрация: 01.03.2010
Сообщений: 96
|
|
Отладка собственных скриптов на Qt521.03.2018, 20:01. Показов 1262. Ответов 10
Метки нет (Все метки)
Задача очень специфичная:
существуют сценарии в виде текстовых файлов, описывающие взаимодейсвтие с оборудованием, одна строка - одна команда. Например: 1.001 INSTR MEAS где: 1.001 - номер инструкции (уникальный номер на каждой строке с командой) INSTR - означает что работаем с каким-то устройстом MEAS - команда считывания данных Как парсить строки - ясно. Нужно открывать текст сценария в окне и иметь возможность указать курсором любой шаг и по нажатию кнопки программа должна начать выполнять команды начиная с команды под курсором. Такой отладчик получается. Здорово было бы еще иметь возможность делать тчоки останова. Как такое сделать на Python в Qt5? какие инструменты использовать?
0
|
|
| 21.03.2018, 20:01 | |
|
Ответы с готовыми решениями:
10
Qt5 + Android + Отладка Отладка скриптов - 3 Отладка скриптов - 2 |
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 21.03.2018, 20:46 | |
|
Самый простой вариант использовать QListView, клик левой кнопки мыши получает индекс начала, правой индекс точки останова, потом выполняется проход по срезу списка
0
|
|
|
0 / 0 / 1
Регистрация: 01.03.2010
Сообщений: 96
|
|
| 21.03.2018, 23:17 [ТС] | |
|
а нет ли готовых компиляторов с открытым кодом, чтобы можно было оттуда содрать интерфейс и вские плюшки в виде нормальных точек останова и пр.
или я фантазирую...?
0
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
| 22.03.2018, 09:14 | |
|
TigerSHARC, если ты ведёшь речь про создание gui как в delphi, то тебе нужен qt designer (но лично я против него и ему подобных, потому что используя его ты никогда не научишься писать нормальный код и не будешь понимать прописанных истин).
Если же тебе нужно именно средство отладки, а не создания gui, то для этого нужна просто среда разработки поддерживающая debug и все (единственная нормальная среда для python, это pycharm, ставишь его и проблем не знаешь).
0
|
|
|
0 / 0 / 1
Регистрация: 01.03.2010
Сообщений: 96
|
|
| 22.03.2018, 17:06 [ТС] | |
|
зачем?
Есть идея разработать простой язык для работы с оборудованием. обрабатывать строку за строкой и выполнять команды. одна строка - одна команда. Парсер написать не представляется трудным. Вот как быть с GUI ума не приложу. Может за основу взять какой-то проект типа Codeblocks... скачал исходники - там темный лес
0
|
|
|
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
|
|
| 22.03.2018, 17:53 | |
|
Попробуй Scite
0
|
|
|
|
|
| 23.03.2018, 12:05 | |
|
TigerSHARC, то есть языка ещё нет, я правильно понял?
А что есть? Ассемблероподобные команды, в которые вы планируете парсить свой новый язык? Ну вперёд, только предупреждаю, задача это непростая. И к gui не имеет вообще никакого отношения. gui тут - это так, вишенка на торте. Куда более простая и маленькая работа по сравнению с собственным языком.
0
|
|
|
0 / 0 / 1
Регистрация: 01.03.2010
Сообщений: 96
|
|
| 23.03.2018, 13:08 [ТС] | |
|
ну это не ассемблер и интерпритировать мне нужно просто в вызовы python функций.
например строка: UNIT 5 12 10 должна интепритироваться в вызов func(5, 12, 10). Вобще наверное, это не проблема. Сейчас я думаю как самым удобным способом реализовать отладку скрипта. В идеале хотелось бы написать интепритатор на python, который считывал бы строки из текстового редактора(Scite, notepad++, что угодно...) и построчно бы выполнял команды. Крайне важно при этом иметь возможность выполнять код строчка за строчкой из редактора. как я понял в scite можно это сделать с помощью lua. Механизм "скармливания" строчки за строчкой (режим отладки) пока не понятен.
0
|
|
|
|
|||
| 23.03.2018, 15:04 | |||
|
Что будет делать интерпретатор? У вас отладчик-то есть для вашей железки? Который остановит программу и выдаст состояние, когда будет нужно?
0
|
|||
|
97 / 97 / 38
Регистрация: 30.11.2017
Сообщений: 180
|
|
| 23.03.2018, 20:01 | |
|
А ту вообще состояние есть? То есть, зависят ли команда друг от друга, а если просто отдельные команды с выводом, то организовать отладку довольно просто
0
|
|
| 23.03.2018, 20:01 | |
|
Помогаю со студенческими работами здесь
11
Отладка скриптов Отладка скриптов Отладка PHP скриптов Отладка скриптов в Unity Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|