Представлен релиз отладчика GDB 14.1 (первый выпуск серии 14.x, ветка 14.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS)...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60227
А я релиз в марте ждал, как-то они быстро.
> Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol)Не прошло и пяти лет! А нет, прошло… Ну да лучше через пять лет, чем никогда.
у них уже сто лет как есть mi протокол. Зачем еще это поделье?
Для совместимости с удобными современными средствами разработки, например.
Ты просто ничего не пытался написать на этом протоколе, иначе бы не спрашивал
Это все конечно классно, но нормальной его поддержки в свободных IDE как не было, так и нет. Сколько лет прошло, а лучше TD32 до сих пор нету. Как классно было в Delphi прожать Debug windows->View CPU и продолжать отлаживать дальше, как ни в чем не бывало. Т.е. продолжая жать те же F7/F8, а не черти что.
Сомневаюсь, что ты объективен. Лично для меня(!) это самый удобный дебагер. Насчет IDE - нормальная поддержка этого отладчика есть даже в Vim'е
А вот и нет, в Виме поддержки GDB нет. Был раньше плагин, но автор его забросил. Да она и не нужна. ГДБ прекрасен и самодостаточен сам по себе.
Termdebug? Все ещё работает, что там обновлять то?> ГДБ прекрасен и самодостаточен сам по себе.
Согласен
https://github.com/puremourning/vimspector
для nvim https://github.com/mfussenegger/nvim-dap
Штатный gui для gdb -- это gdb-mode Emacs'a.Им и надо пользоваться.
Штатный gui для gdb это ddd, а не твой плеер. Привет.
Страшнюче.
И жутко неудобное, проще коробочным gdb пользоваться
DDD дико глючащее поделие, только прикидывающееся дебагером. Ну а всякие gdb-mode Emacs'a c vim'ами - это воообще, извращение. Извлечение гланд через пятую точку. Нормального GUI нет.
На DDD и helloworld не всегда получится отладить. Зависнет или заглючит)))
Никогда ddd не был штатным GUI для GDB.Более того, он до сих пор использует старый протокол, не MI.
А мне cgdb, например, нравится. Простой и удобный.
https://github.com/cgdb/cgdb
> А мне cgdb, например, нравится. Простой и удобный.попробуй самый лучший
Так речь идет про нормальные IDE, а не про ваши vim и emacs.
Вот в нормальных до сих пор нет
Ну дак пиши разработчикам этих нормальных IDE, а не в новость про GDB. Пусть добавляют поддержку gdb в свои нормальные ide
А что под ними понимаете? Vscode - норм, не жпловался; QtCreator - тоже норм
Qt Creator ещё совсем недавно почти не умел Autotools.
Стоит задуматься о их "нормальности".
Нет нормальных IDE в вакууме, есть IDE успешно решающую ту или иную задачу.
В slickedit нормальная поддержка.
В Qt Creator есть. Какие-то ещё вменяемые свободные IDE не могу назвать.
Code::Blocks, KDevelop давно не трогал
Плюсую. В Qt Creator как раз таки самая адекватная поддержка GDB. И ЧСХ она там гораздо лучше, чем поддержка того же LLDB, не говоря уже о виндовом CDB.
> Как классно было в Delphi прожать Debug windows->View CPU и продолжать отлаживать дальше, как ни в чем не бывало.Кто тебе мешает делпхи использовать и сегодня?
Тем, что оно платное, а кряканое все равно только для личного пользования можно использовать. Тыж не сможешь это продать. Будет видно, что оно на делфях, и возникнет вопрос по поводу лицензии. Парится с комунити лицензией не охота. Короче нужна свободная замена. Я же еще в винде разочаровался. Ничего больше не должно меня к ней привязывать. Но лазарус что то зачах совсем.
Если ты продавать собрался, так может и не такая уж проблема коммерческую лицензию приобрести? Или ты из тех, кто мечтает построить успешный бизнес с нулём вложений не вставая с дивана?
иногда коммерческие лицензии стоят совершенно несоразмерных денег
Чем лучше IDA Pro?
А что это такое?
IDA - дизассемблер, gdb - отладчик.
Вылезайте из криокамеры, отладчик там невесть когда ещё был реализован. https://i.imgur.com/UaBB3fR.png
Оно почти как notepad++, но только в консоли.
Ну ты понял короче.
>Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol).Такой же хлам, как и LSP. Ничему история M$ не учит.
Годную по твоему мнению альтернативу LSP назовёшь или просто хейтишь потому, что LSP Майкрософт запилил?
Я уже рассказывал на OpenNet очевидные вещи, как следовало дизайнить LSP, чтобы уменьшить потребление им ресурсов, увеличить эффективность по циклам процессора и намного упростить интеграцию клиентов в сторонние приложения (интеграция существующего LSP в свою программу - реально боль, поэтому во многих редакторах его поддержки нет, и скорее всего не будет никогда). TL;DR: делать серверы динамически-связываемыми бибшиотеками. Подход много раз уже преуспевший в OpenCL, Vulkan и COM. При необходимости RPC легко может быть навешено уже поверх этого интерфейса.Это очевидные вещи. Но M$ гонется не за оптимальностью, а за своей коммерческой выгодой. Им вообще выгодно, чтобы пользовательские машины IDE не тянули, а всё было в ИХ облаке.
И в DAP M$ сделал так же, как и в LSP.
>во многих редакторах его поддержки нетВ IDE всё есть, в некоторых редакторах (KDE Kate) тоже есть.
>делать серверы динамически-связываемыми бибшиотеками
Сэкономишь сто байтов и три наносекунды в сравнении с сервером в отдельном процессе. Что будешь с ними делать?
>чтобы пользовательские машины IDE не тянули
LSP-сервер библиотекой от этого не спасёт, это надо с атлона на новое железо пересесть уже.
>в некоторых редакторах (KDE Kate) тоже есть.А в Notepad++ попробовали завезти - да за***лись и бросили.
>Сэкономишь сто байтов и три наносекунды в сравнении с сервером в отдельном процессе.
Во-первых, не такая малая экономия, как ты выдумал. И я расписывал - почему. TL;DR - переиспользование состояния внутри IDE, а не наличие 2х реализаций одного и того же для нормальной работы, одна в IDE, другая - в сервере, которые ещё синхронизировать надо. Во-вторых, дело не только в экономии ресурсов, но и в удобстве программирования. При разделении на процессы у тебя при крахе сервера крашится сервер, а клиент должен уметь это правильно обработать. При зависании сервера всё ещё более неприятнее. При работе в том же процессе - крашится вся IDE, и на восстановление после сбоя можно забить. Но вот не надо делать серверы, которые крашутся. Справедливости ради - под memory pressure на линуксе крашится весь сеанс, так что сохранение IDE в рабочем состоянии при крахе сервера малоценно.
> надо с атлона на новое железо пересесть уже.
Переходи, разрешаю.
>При разделении на процессы у тебя при крахе сервера крашится сервер, а клиент должен уметь это правильно обработать. При зависании сервера всё ещё более неприятнее. При работе в том же процессе - крашится вся IDE, и на восстановление после сбоя можно забить.Ты победил, я сдаюсь.
> интеграция существующего LSP в свою программу - реально боль, поэтому во многих редакторах его поддержки нет, и скорее всего не будет никогдаЧто, не осиливают «во многих редакторах» сокеты? Беда-беда. Ну, главное что в основных осилили, а остальными всё равно 3,5 маргинала пользуются, можно просто игнорировать их нытьё.
> делать серверы динамически-связываемыми бибшиотеками
Ну-ка ну-ка, вот тут подробнее давай. У меня условный VSCode запущен на Windows 11 Home Edition в Парагвае, а LSP — внутри контейнера на Линуксе, запущенном на мейнфрейме в Японии. Как, говоришь, это должно работать?
> M$ гонется не за оптимальностью, а за своей коммерческой выгодой. Им вообще выгодно, чтобы пользовательские машины IDE не тянули, а всё было в ИХ облаке.
А ещё Билл Гейтс ворует деньги со счета мобильника по ночам, ага. Сатья хоть в лифте не гадит?
>Ну-ка ну-ка, вот тут подробнее давайhttps://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi?az=s... в частности и весь тред https://www.opennet.dev/opennews/art.shtml?num=59754#15 в общем.
>Сатья хоть в лифте не гадит?
Только Людвиг Аристархович. Но ведь ему-то это и убирать.
> используешь сервер-адаптер, который на вызовы функций генерит команды, которые пишутся в очередь, и далее в отдельном потоке уже пересылаются по сетиПоздравляю, вы изобрели LSP. ЧТД. Спасибо, можешь дальше не продолжать.
Расскажите про Парагвай, пожалуйста. Я хочу релоцироваться куда-нибудь в более безопасное место.
Но что, если с VS Code, запущенным на винде в парагвае, работа осуществляется через RPD из под Саранска ?
> Расскажите про Парагвай, пожалуйста.Жить лучше всего в Асунсьоне. А ещё лучше не в Парагвае. Слишком уж он условный.
> Я хочу релоцироваться куда-нибудь в более безопасное место.
А про Парагвай тебе тогда зачем? Безопасное место — это страны первого мира с где тщательно регулируют оборот оружия.
>где право на оружие закреплено в конституцииfixed
> Такой же хлам, как и LSP.LSP - это тема. Именно благодаря ему можно пользоваться возможностями инспекции кода в любом редакаторе с поддержкой LSP, а не вот этими тормознутыми IDE на java. К тому же это побуждаем авторов языков самих писать LS, а вот этим тоомознутым IDE на java.
>Кодовая база переведена на использование стандарта C++17.Отлично, движемся вперед.
А там прям код меняют или просто ключик компилятора?
Там РАЗРЕШАЮТ использовать C++ 17.
так-то он ломает обратную совместимость
> так-то он ломает обратную совместимостьОчевидно те места, где ломается - уже поправили. Поэтому и разрешили.
Люблю этот отладчик больше всех, спасибо за новость, укатил обновляться.
У меня layout asm скроллинг застревает, если пролистать дальше последней инструкции в очень маленькой программе на ассемблере. Также, если поместить сегмент data в text, то точка входа оказывается не в 401000, а в 401009 и при скроллинге вообще смещает адреса инструкций и вместо mov первая инструкция rolb.
Мне кажется его не совсем корректно назвали.
Это не "отладчик GDB", а "GDB - движок для построения отладчиков"