|
0 / 0 / 0
Регистрация: 21.12.2014
Сообщений: 65
|
|
Отладка кода (программы) во FreeBasic21.02.2024, 01:11. Показов 17460. Ответов 224
Уважаемые программисты. Подскажите - как производится
В QB это делалось просто. В меню Debug командой toggle breakpoint метится строка до которой проверить. После запуска идет проверка, отмечаются ошибки, проблемы. У меня во FreeBasic этот метод не работает. Программа на метку не реагирует, действия не совершаются. Прошу помощи.
0
|
|
| 21.02.2024, 01:11 | |
|
Ответы с готовыми решениями:
224
Грамотная отладка программы, подмога в структуризации кода Отладка программы в Delphi(нужно подредактировать текст чужой программы) |
|
|
|||||
| 25.02.2024, 13:09 | |||||
|
Тогда он мало кому будет нужен, если без дебаггера. Тогда можно взять любой редактор с поддержкой синтаксисов и там кодить. Наличие удобного отладчика это и есть самое главное для среды разработки,по сути это сердце среды. И код должен быть простым и понятным. На днях смотрел код одного компилятора Паскаля. Там нет НИ ОДНОЙ строчки с комментариями. Не было даже описания работы всей системы. Вообще НИЧЕГО! Не понятно для чего дядя писал вот это гов.ище. Вот так писать ТОЧНО не надо. Я такой код даже читать не стал: пустое убийство времени. Я вообще с осторожностью отношусь к плохо документированному коду. С подозрением. Если чел вообще кол забил на других, то и его код под подозрением. Сначала читают документацию где четко должно быть объяснено такие вещи как: 1. точка входа, чтобы не искать файл додумывая: а какое имя для файла выбрал Вася Пупкин для обозначения точки входа. так как раскручивать скрипты не зная точки невозможно. 2. общее описание модулей и что за что отвечает. Можно даже рисунок приложить. Это сберегает очень много времени тем, кто будет все это разгребать. 3. описание каждого модуля. Из каких функций он состоит, зависимости и т.п. 4. По каждой функции: её цель, что на входе, что на выходе, сигнатура. Этого достаточно, чтобы понять систему не читая код. Это сберегает время. Код читают только в редких случаях. Без документации ваш код - мертворожденное дитя. Детский лепет, что код должен быть самодокументированным это несерьезно.Сейчас некоторые системы состоят из миллионов строк кода. никто в здравом уме не будет тратить свои годы на понимание системы читая код. Это безумие! Пора к этому уже привыкнуть и писать документацию. Документация сейчас это будущее вашей работы. Надо уметь еще её писать.
1
|
|||||
|
|
||||||||||||||||||
| 25.02.2024, 14:43 | ||||||||||||||||||
|
Думаете что это нереально? Простой пример Этот код работает не вылетая.
И это простой код где найти ошибку в общем-то не сложно, а если будет несколько тысяч строк и где именно искать неизвестно? Отладчик найдет причину ошибки с указанием строки где она обнаружена.
1
|
||||||||||||||||||
|
Кормпилятор
|
|||||||||
| 25.02.2024, 17:54 | |||||||||
|
Про ассемблер уже писал, там применение отладчика оправдано полностью. Сразу видно человека, который вообще ни одного проекта серьёзного не реализовал ни под DOS ним под Windows. А причём тут мода уже пояснял, миллионы ослов, сочиняющих своё мумие за компом, и как слепые котята отлавливающие десятки багов, концептуальных и технических, впоследствии становящихся программистами крупных компаний и сочно подсирают им своей компетентностью. Были и фрилансеры которые руинили целые фирмы, научившись программировать в виде "я художник - я так вижу". И пока тебя смешит копипаст, который сработает везде и в блокноте и в редакторах под DOS, меня будут смешить такие люди как ты, которые не осознают глубины проблемы. Ещё раз: я не против отладчиков. Выступаю исключительно за то, чтобы их применяли крепкие разумом программисты и только в редких, единичных случаях, когда найти ошибку своими силами не удаётся, а не кони-люди(вечные новички), которые пишут код методом научного тыка, не нарисовав и не обдумав ни одной схемы, их результат и так предельно понятен. Более того уже рассказывал, что навык поиска ошибок без отладчика тренируется. И да ''вместо "Exit Do"случайно написать "Exit Sub" '' - это видимо отдельный навык, доступный только людям с intelliSence. и не угодить в говно, locm об этом писал, куда можно угодить, там не только отладчик понадобится но и изрядная доля самообладания. Добавлено через 38 минут и писать без отладчика, просто перебивать из документации(написанной за письменным столом). Процент ошибок после прихода к дзену будет исчисляться несколькими нулями после запятой. Время на их отлов - сопоставимо. И есть другой путь, сочинять на компом, жуя чипсы и слушая музыку тыркаться в отладчике, ловить десятки бегов, вечно ковыряться и сливать на это время, получать по итогу забагованное в сосиску говно, нашпигованное тысячами костылей и заплаток, еле работающее как например популярный ныне Davinci Resolve. во-вторых подогнать и кастомизировать ни один редактор подобным образом к которому стремлюсь - нельзя. В-третьих, не делать ничего и жить на готовеньком - мы Россияне так делали всю жизнь и к чему пришли? Мы сраные аборигены, которые не могут ничего ни в проц ни в ОС, ни само собой во что-то другое из хай тека и только "тырим" всё разработанное на западе, в европе, в китае, терпя на импорте миллиардные убытки, закапывая свою экономику и спецов. Можно дальше так жить, но рано или поздно такой подход даст о себе знать. Ну т.е. он уже дал, спящие понемногу пробуждаются. и обычная расширяемость. В готовом редакторе рассчитанном на расширение что-либо дорабатывать, как показывает практика - никаких трудностей не возникает. 1) Структура стандартным образом: константы, инклуды, прототипы, массивы, код, проц/функц 2) Частые комментарии в алгоритмически важных местах, разряженные в "бытовых" вычислениях. 3) Описание функций и процедур в многострочном комментарии сразу перед функ/проц. 4) Описание функциональных блоков программы, сразу перед блоками и констатация закрытия блока. 5) Кодстайл мозаикой, т.е. след строка начинается на пересечении пробела строки выше. Комментарии через два пробела(это повышает читаемость) с отступом от кода не менее 4-х пробелов. Пробелы между арифметическими знаками. Более того раньше могло и не быть. У меня уже столько документации аналитической накоплено, не уверен, что кто-то копал настолько глубоко. По поводу turbo vision - хочешь ковыряй, этим инструментом никогда не пользовался, у меня все GUI кастомные под задачу, так что мне он не интересен. Добавлено через 16 минут Тогда и посмотрим что там происходит. Без отладчика.
0
|
|||||||||
|
|
||
| 25.02.2024, 17:59 | ||
|
https://github.com/magiblot/turbo Прокрутите вниз, там описание. Это редактор, который чел запилил на turbo vision - библиотеке, которую он портировал под линукс и виндовс с поддержкой юникода и пр.: https://github.com/magiblot/tvision Редактор включает библиотеку Scintilla и довольно навороченный. Может стоит от этого оттолкнуться? Хотя всё это запилено на c++.
0
|
||
|
Кормпилятор
|
||
| 25.02.2024, 18:10 | ||
|
Чувак не смог с нуля и взял чужой турбо вижен, сцинтиллу и ещё пачку чужих работ. В итоге там толстенный технологический стек, в котором чёрт ногу сломает, да ещё и си с линуксом на перевес. Чувак конечно большой молодец, но это не показатель. Лично у меня даже редактор QB64 вызывает большее уважение, да понятно что он раз в 10 хуже, что это лютое говно, но написанное с нуля, хотя бы была попытка получить знания.
0
|
||
|
|
||||
| 25.02.2024, 18:17 | ||||
|
Не может быть что так быстро забыли тем более что кода почти нет. Всего несколько функций https://www.purebasic.com/docu... space.html https://www.purebasic.com/docu... g/len.html https://www.purebasic.com/docu... pokes.html https://www.purebasic.com/docu... emory.html Кстати в описании AllocateMemory() упоминается ошибка которая есть в коде выше.
1
|
||||
|
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
|
|||
| 25.02.2024, 18:26 | |||
|
0
|
|||
| 25.02.2024, 18:29 | ||
|
Не по теме:
Зачем использовать винду/линукс/макос? Давайте напишем ОС аналогичную по возможностям и все драйвера под все существующее железо тоже. Зачем использовать имеющиеся компы? Изобретем свои с нуля - процы, чипсеты, память, SSD, и т. д. все изобретем и весь софт для них напишем! Это я к тому что если начать все писать с нуля, ничего существенного не достигнем - времени нужно очень много.
0
|
||
|
Кормпилятор
|
||||||
| 25.02.2024, 19:04 | ||||||
|
К остальному коду вопросов почти нет. Просто мне не известен точный формат строковой памяти PB. Попробуем воспроизвести баг. Добавлено через 26 минут Пока мир "многополярен" и нам будут совать палки в колёса, попросту - ничего не остаётся как сопротивляться. Можно сложить лапки и нас экономически поработят(точный аналог старого рабства, просто осовремененное), причем с гарантией. Это уже много где произошло, монополии гигантов индустрии, вспомни цены на видеокарты, когда все офигели и продолжают фигеть даже сейчас. Если вдуматься и посмотреть на историю всей индустрии - мы вечно позади, все фундаментальные разработки там на западе, во времена СССР ещё что-то пытались догнать, не сильно отставали, всё было неплохо, а потом сдались, слились. И сейчас всё действительно плохо. И этим сейчас пользуются китайцы. То про что пишу - это независимость, это знание, а знание это большая сила. Для себя припас вообще другой ответ, мне хочется чтобы многое было доступно на нашем родном языке и чтобы это были не работы от академиков для академиков, а работы тех, кто может писать доступным и лаконичным языком. Отечественный ПК, по сложности взаимодействия аналог интелов. С отечественной документацией, где можно влезть куда надо и сделать в точности что тебе надо. Не то дерьмо с МЦСТ которое они выкакали, я читал, да, чуть умом не тронулся. Настолько всё пронизано идеологией рыночной, что уже тошнит просто. Делайте С*КА для людей! Как когда-то делал Билл Гейтс. Вот мой посыл. Добавлено через 4 минуты
0
|
||||||
|
|
||||||||||
| 25.02.2024, 19:14 | ||||||||||
Пришлось заменить на fb_memcopy() и не уверен что сделал правильно.
1
|
||||||||||
|
|
||
| 25.02.2024, 19:25 | ||
|
0
|
||
|
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
|
|||
| 25.02.2024, 19:30 | |||
|
Что значит "выдал"? НУ, ВУ - это всё условности, а существование СУ некоторые вообще отрицают. Я отношусь к тем, кто считает СИ - это язык СУ. Это не некая истина, это мнение. Нет строгой градации.
0
|
|||
|
Кормпилятор
|
||||
| 25.02.2024, 19:45 | ||||
|
в отдельную касту той самой "средней" "привилегированной" прослойки людей, кто считает что си хватит на всё и асм знать решительно не обязательно. Т.е ленивые упыри. И под DOS и под Windows.
0
|
||||
|
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
|
|
| 25.02.2024, 19:59 | |
|
Игра сделана по канонам демосцены, нормально работает только в XP, но можно запустить и в 7-8-10, написано в ReadMe как:
https://yadi.sk/d/xYZa0Dzo3Mmsgi
0
|
|
|
|
|
| 25.02.2024, 20:12 | |
|
Ну а вот вишенка на торте)).
Человек запилили вариант qbasic, который называется TMbasic. И прикрутил к нему вот ту самую портируемую либу. На данный момент поддерживает кроме строк - списки,множества и хеш таблицы. Проект находится под разработкой. Очень интересен. Напрягает, что компилятор написан на c++. Хотя в общем это и не принципиально, но все же хотелось видеть чистый си. https://github.com/tmbasic-lang/tmbasic
0
|
|
|
Кормпилятор
|
||||
| 25.02.2024, 20:20 | ||||
|
https://www.virustotal.com/gui... 6776f601db С виртуалкой возиться сейчас не хочу. Как будто просил .exe шник или код. Снимаешь видео и всё ясно. А вот моё 3D, на бейсике + ASM, 2004г. DOS, ~300kb: Написано голыми руками с ноля, без DirectX и OpenGL, характеристики ПК показаны: Текстуры на ассемблере, логика на бейсике. *.EXE есть в закреплённой теме. Будем дальше? Добавлено через 3 минуты Добавлено через 3 минуты CoderHuligan, это какая то дичь!
Ты эта, описания читай иногда.
0
|
||||
|
|
|||
| 25.02.2024, 20:24 | |||
|
https://github.com/magiblot/tvision/issues/7 Добавлено через 2 минуты
0
|
|||
|
Модератор
|
|
| 25.02.2024, 20:25 | |
|
Quiet Snow, у Майкла полно игр 3D и 2D и есть свои движки софтверные для 2Д, а также если я ничего не путаю есть и аналогичный 3D софтрендер. Не с тем человеком ты перепалку устраиваешь - он также все с нуля пишет и не пользуется никакими готовыми либами с кодом. Будь вежливей. https://www.cyberforum.ru/post8323553.html
Mikle Quits, почитай подобные темы (вот к примеру или вот); мой совет - не трать время, бесполезно.
1
|
|
|
Кормпилятор
|
||
| 25.02.2024, 20:27 | ||
|
оно же не скроллится попиксельно? Ты видел как DOS-овые программы работали в Windows98? Это как запустить редактор DOS под 98-й, ну только сделанное под винду, с интеграцией буфера обмена.
0
|
||
|
782 / 300 / 17
Регистрация: 21.01.2023
Сообщений: 520
|
|
| 25.02.2024, 20:31 | |
|
0
|
|
| 25.02.2024, 20:31 | |
|
Помогаю со студенческими работами здесь
60
Отладка кода Отладка кода Отладка кода Отладка кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|