GUI для GDB (только для FreeBasic)
|
|
haav | Дата: Пятница, 26.11.2021, 19:34 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 1363
Статус: Offline
|
Да , я знаю , что из всего кол-ва пользователей freebasic , пользуются отладчиками жалкие единицы (я думаю одной руки для подсчета хватит). Но все же я сделал (в первую очередь для себя) GUI для отладчика GDB. По сути задумывался просто временный вариант , пока SARG не доделает свой отладчик под Linux. Однако его работа сильно затянулась , а отладчик бывает нужен. Отладчиком GDB из консоли терпимо пользоваться в фоне для отлова ошибок (то есть включил программу под отладчиком и работаешь , пока не случится крэш). Что касается трассировки под GDB , то на мой взгляд лучше вообще работать без отладчика. Именно поэтому , я написал простенькую гуишку в первую и основную очередь под Linux 64bit. Хотя должно работать под windows (32bit , 64bit) и linux (32bit , 64bit). Просто основное тестирование проводилось только на Linux 64-bit. Программа нормально взаимодействует с GDB 8 , GDB 10 , по крайней мере на Linux 64-bit.
Небольшое видео использования: https://disk.yandex.ru/i/vMZIc9tHPssB2Q
Скачать можно здесь: https://sourceforge.net/projects/frontend-gdb-for-freebasic/
Если возникнут сложности с поиском или сборкой самого отладчика GDB под Windows 64bit , то можно скачать отсюда GDB 10: https://disk.yandex.ru/d/_iZpBdYGdNYphA (собирал сам).
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
zamabuvaraeu | Дата: Четверг, 02.12.2021, 20:41 | Сообщение # 2 |
Подполковник
Группа: Друзья
Сообщений: 149
Статус: Offline
| Ух ты! Крутотень.
Я вчера пытался из Visual Studio Code отлаживать фрибесик‐проекты через расширение GDB для C++ (под виндовс конечно же). Запускать отладчик он запускает, даже выводит на консоль что отладчик запущен и символы загружены. Но поставить точки останова нельзя, увидеть исходный код нельзя, остаётся только команды вводить в консолье окно.
Отладка же сишных проектов в Visual Studio Code работает, можно мышкой ставить точки останова и всё такое прочее, что обычно делают в визуальных студиях от корпорации Микрософт.
Ещё тормозит процесс отладки, что FreeBASIC искажает имена переменных и структур, до добавляя к ним то $1 или $2, то подчёркивания с долларами и цифрами, переводит имена в верхний регистр, а отладчик чувствителен к таким вещам. Клавиша TAB конечно автоматически дополняет имя переменной.
Также он убирает псевдонимы у типов. Например, тип данных DWORD не оставляет в виде DWORD, а пишет его 32‐битным беззнаковым целым. Я понимаю, что это сделано чтобы не зависеть от версий компиляторов си, но отладка фрибесик‐программы всё ещё оставляет желать лучшего.
Говорят, что когда доделают трансляцию в LLVM код, тогда можно будет компилировать си‐компилятором от корпорации Микрософт, а значит, можно пользоваться и отладчиком из визуальей студии.
|
|
| |
haav | Дата: Понедельник, 06.12.2021, 10:52 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 1363
Статус: Offline
| Всем привет!
Вышла 2 версия программы. Первая версия также доступна для скачивания.
Что нового во второй версии:
1) исправлены найденные ошибки 2) изменен интерфейс (вместо надписей появились иконки, добавлено всплывающее меню) 3) появилась возможность изменять значения переменных (вызывается меню в окне переменных) 4) вы можете копировать данные из окна переменных (меню вызывается в окне переменных) 5) можно включить / отключить автообновление переменных при пошаговой отладке (меню вызывается при нажатии кнопки ОПЦИИ) 6) оптимизирован вывод глобальных переменных
К сожалению, на 32-битных системах существует неразрешимая проблема с обновлением глобальных переменных (озвученная здесь). Это проблема с именами переменных и структур, которые GDB не распознает. Из-за этой проблемы данные переменных в графическом интерфейсе могут быть неверными.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
bxusinboy | Дата: Воскресенье, 12.12.2021, 18:11 | Сообщение # 4 |
Рядовой
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата zamabuvaraeu ( ) Я вчера пытался из Visual Studio Code отлаживать фрибесик‐проекты через расширение GDB для C++ (под виндовс конечно же). Запускать отладчик он запускает, даже выводит на консоль что отладчик запущен и символы загружены. Но поставить точки останова нельзя, увидеть исходный код нельзя, остаётся только команды вводить в консолье окно.Отладка же сишных проектов в Visual Studio Code работает, можно мышкой ставить точки останова и всё такое прочее, что обычно делают в визуальных студиях от корпорации Микрософт. В Visual Studio Code надо поставить так: File -> Preferences -> Settings -> Features -> Debug -> Allow Breakpoints Everywhere - Allow setting breakpoints in any file Можно искать breakpoint в Settings.
Цитата haav ( ) К сожалению, на 32-битных системах существует неразрешимая проблема с обновлением глобальных переменных (озвученная здесь). Это проблема с именами переменных и структур, которые GDB не распознает. Из-за этой проблемы данные переменных в графическом интерфейсе могут быть неверными. По-моему многие не использует одинаковые имена переменных для типа и переменного.
|
|
| |
zamabuvaraeu | Дата: Вторник, 21.12.2021, 14:28 | Сообщение # 5 |
Подполковник
Группа: Друзья
Сообщений: 149
Статус: Offline
| Цитата По-моему многие не использует одинаковые имена переменных для типа и переменного. Читаю как‐то код на Си, а там:
HDC hDC, hDc, hdc, Hdc, HDc, hdC, HdC;
|
|
| |
haav | Дата: Воскресенье, 03.04.2022, 16:43 | Сообщение # 6 |
Генералиссимус
Группа: Администраторы
Сообщений: 1363
Статус: Offline
| Начал тут отладку юникодовой программы под виндой и не получилось. Как оказалось , я при написании вообще забыл , что это может понадобится для винды. В общем попробовал исправить этот недостаток. Сейчас вроде под виндой можно отлаживать юникодовые программы. Под линуксом к сожалению только программы в UTF8. Пробовал делать отладку UTF32 , но GDB через PIPE возвращает что-то непонятное. Разбираться было лень , тем более что в UTF32 на FB никто исходники не сохраняет.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
haav | Дата: Среда, 28.12.2022, 11:30 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 1363
Статус: Offline
| Обновлено:
1) Добавлена возможность присоединения к существующему процессу 2) Диалог "Command" теперь не закрывается после каждой команды , а ждет закрытия от пользователя 3) Исправлены некоторые ошибки и недочеты 4) Добавил файл readme.txt , для того , чтобы пользователи лучше понимали как установить/настроить.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
haav | Дата: Вторник, 27.02.2024, 09:42 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 1363
Статус: Offline
| Обновлено:
1) Добавлены горячие клавиши для часто-используемых функций 2) Добавлена возможность удаления всех брекпоинтов 3) Исправлен переход по клавише TAB для интерфейса (window9 должна быть самой последней версии) 4) Исправлено заполнение регионов памяти в гаджет
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |