есть ли c ++ gdb gui для linux?

<p>вкратце: кто-нибудь знает о графическом интерфейсе для gdb, который приводит его в соответствие или близок к набору функций, который вы получаете в более поздней версии visual c++?</p><p>подробно: как человек, который потратил много времени на программирование в windows, один из самых больших камней преткновения, который я обнаруживал всякий раз, когда мне приходится кодировать c++ в linux, заключается в том, что отладка чего-либо с помощью командной строки gdb отнимает у меня в несколько раз больше времени, чем в visual studio, и, кажется, не становится лучше с практикой. некоторые вещи проще или быстрее выразить графически.</p><p>в частности, я ищу графический интерфейс, который:</p><ul> <li>обрабатывает все основы, такие как перешагивание и вставка в код, наблюдение за переменными и точками останова</li> <li>понимает и может отображать содержимое сложных и вложенных типов данных c++</li> <li>не смущается и, предпочтительно, может интеллектуально шагать по шаблонному коду и структурам данных, отображая соответствующую информацию, такую как типы параметров</li> <li>может обрабатывать резьбовые приложения и переключаться между различными потоками, чтобы переходить или просматривать состояние</li> <li>может обрабатывать присоединение к уже запущенному процессу или чтение дампа ядра, в дополнение к запуску программы в gdb</li> </ul><p>если такой программы не существует, то я хотел бы услышать об опыте, который люди имели с программами, которые соответствуют хотя бы некоторым пунктам. у кого-нибудь есть рекомендации?</p><p><strong>edit:</strong><br> список возможностей - это здорово, и я возьму то, что смогу получить, но было бы еще полезнее, если бы вы включили в свои ответы:<br> (a) использовали ли вы этот gui или нет, и если да, то какие положительные/отрицательные отзывы у вас есть по этому поводу.<br> (b) если вы знаете, какие из вышеупомянутых функций поддерживаются/не поддерживаются</p><p>списки легко найти, такие сайты хороши тем, что вы можете получить представление о личном опыте людей с приложениями.</p>

<p>вы не найдете <em>что-нибудь</em> перекрывающего gdb, который может конкурировать с сырой мощью отладчика visual studio. он слишком мощный и слишком хорошо интегрирован в ide.</p><p>для альтернативы linux попробуйте ddd, если вам нравится бесплатное программное обеспечение.</p>

<p>eclipse cdt предоставит опыт, сопоставимый с использованием visual studio. я ежедневно использую eclipse cdt для написания кода и отладки локальных и удаленных процессов.</p><p>если вы не знакомы с использованием ide на основе eclipse, к gui придется немного привыкнуть. однако, как только вы поймете идеи графического интерфейса, уникальные для eclipse (например, перспектива), использование инструмента станет приятным опытом.</p><p>инструменты cdt предоставляют приличный индексатор c/c++, который позволяет вам быстро находить ссылки на методы в вашей кодовой базе. он также предоставляет инструмент расширения макросов nice и ограниченную поддержку рефакторинга.</p><p>что касается поддержки отладки, cdt может делать все в вашем списке, за исключением чтения дампа ядра (он может поддерживать это, но я никогда не пытался использовать эту функцию). кроме того, мой опыт отладки кода с использованием шаблонов ограничен, поэтому я не уверен, какой опыт cdt предоставит в этом отношении.</p><p>для получения дополнительной информации об отладке с помощью eclipse cdt вы можете проверить эти руководства:</p><ul> <li> <a href="http://www.ibm.com/developerworks/library/os-eclipse-cdt-debug2/index.html">взаимодействие с отладчиком cdt, часть 2: доступ к gdb с помощью eclipse cdt и mi</a> </li> <li> <a href="http://download.eclipse.org/tools/cdt/docs/tutorials/debug\_tutorial/cdt\_w\_debug.htm">учебник по отладке cdt</a> </li> </ul>

<p>gdb-tui работает нормально, если вы хотите что-то с графическим интерфейсом, но все же на основе символов.</p>

<p>проверьте <a href="https://wiki.gnome.org/apps/nemiver">nemiver c/c++ debugger</a> . его легко установить в ubuntu (инструменты разработчика/отладка).</p><p><strong> обновление: </strong> новая ссылка.</p>

<p>мне не нравится идея разработки под windows, но отладчик vc++ - один из лучших, которые я видел. я не нашел интерфейс gui, который был бы близок к vc.</p><p>gdb - это круто, когда ты действительно привыкнешь. используйте его в гневе достаточно, и вы станете очень опытным. я могу без труда обходить программу, выполняя все перечисленные вещи без особых усилий. потребовался месяц или около того страдания из-за ssh-связи с удаленным сервером, прежде чем я стал опытным. я никогда не вернусь, хотя.</p><p>ddd действительно мощный, но он был довольно глючным. я обнаружил, что он довольно часто зависает, когда получает сообщения от gdb о том, что он не работает. это хорошо, потому что у него есть окно интерфейса gdb, так что вы можете видеть, что происходит, а также напрямую взаимодействовать с gdb. ddd не может быть использован для удаленного сеанса x в моей среде (реальная проблема, поскольку я сижу за тонким клиентом, когда я работаю с unix dev) по какой-то причине, так что это для меня.</p><p>kdevelop следовал типичному стилю kde и предоставил пользователю всё. мне также никогда не удавалось отлаживать программы не kdevelop в kdevelop.</p><p>gnat programming studio (gps) на самом деле является неплохим интерфейсом для gdb. он не просто управляет проектами ada, поэтому стоит попробовать, если вам нужен отладчик.</p><p>вы могли бы использовать eclipse, но он довольно тяжелый, и многие опытные unix-люди, с которыми я работал (включая меня), не очень заботятся о его интерфейсе, который не будет просто stfu и уйдет с вашего пути. затмение также, кажется, занимает много места и бежит как собака.</p>

<p>qt creator кажется хорошим материалом. коллега показал мне один способ настроить его для отладки:</p><ul> <li>создайте новый проект "импорт проекта на основе makefile".</li> <li>укажите его в корневой папке проекта (он будет индексировать источники под ним, и это впечатляюще быстро).</li> <li>перейдите в настройки проекта и добавьте конфигурацию запуска, затем укажите исполняемый файл, который вы хотите отлаживать, и его аргументы.</li> <li>qt creator, похоже, настаивает на создании вашего проекта перед его отладкой. если вы этого не хотите или не используете make, вы можете переопределить команду make. я изменил это на "правда". :)</li> </ul><p>для отладки приложения, которое я уже скомпилировал, может показаться немного трудоемкой, но оно того стоит. отладчик показывает потоки, стеки и локальные переменные аналогично visual studio и даже использует множество одинаковых сочетаний клавиш. кажется, он хорошо обрабатывает шаблоны, по крайней мере, std :: string и std :: map. присоединение к существующим процессам и дампам ядра, кажется, поддерживается, хотя я еще не проверял это.</p><p>имейте в виду, что я использовал его менее чем на час, но я до сих пор впечатлен.</p>

<p>я использую gdb, простой и полезный</p>

<p>я часто использую ddd, и он становится достаточно мощным, когда вы научитесь его использовать. я бы сказал, что не используйте его поверх x над wan, потому что кажется, что он делает много ненужных обновлений экрана.</p><p>кроме того, если вы не связаны с gdb и не возражаете потратить немного денег, я бы попробовал totalview. у него немного крутая кривая обучения (он, безусловно, может быть более интуитивным), но это лучший отладчик c++, который я когда-либо использовал на любой платформе, и он может быть расширен для интроспекции ваших объектов специальными способами (что позволяет вам просматривать список stl как фактический список объектов, а не куча запутанных внутренних элементов данных и т.д.)</p>

<p>ознакомьтесь с проектом eclipse cdt. это плагин для eclipse, предназначенный для разработки на c/c++ и включающий в себя довольно многофункциональную перспективу отладки (которая за кадром использует gdb). он доступен на самых разных платформах.</p>

<p>интерфейс eclipse gdb удобен также и для интерфейса emacs, тесно связанного с emacs ide. если вы уже работаете с emacs, вам понравится:</p><p> <a href="https://stackoverflow.com/questions/164693/whats-the-best-stable-c-ide-with-a-gui-that-runs-on-linux#350855">gdb emacs frontend</a> </p>

<p>я использовал kdbg (работает только под kde).</p>

<p>qt creator-on-linux в настоящее время, безусловно, наравне с visual studio-on-windows для c++. я бы даже сказал лучше на стороне отладчика.</p>

<p>существует один ide, которого нет в этом списке и который очень эффективен (я использовал его во многих проектах c/c++ без каких-либо проблем): <a href="https://netbeans.org/kb/docs/cnd/quickstart.html">netbeans</a> .</p>

<p>ddd является интерфейсом gnu для gdb: <a href="http://www.gnu.org/software/ddd/">http://www.gnu.org/software/ddd/</a> </p>

<p>я испробовал несколько разных интерфейсов для gdb и нашел, что ddd лучший из них. и хотя я не могу комментировать другие не-gdb предложения для linux, я использовал несколько других отладчиков на других платформах.</p><p>gdb делает большинство вещей, которые у вас есть в вашем списке пожеланий. ддд ставит перед ними более приятный фронт. например, переключение потоков стало проще. установить точки останова так же просто, как и следовало ожидать.</p><p>вы также получаете окно cli в случае, если есть что-то непонятное, что вы хотите сделать.</p><p>одна особенность ddd, которая выделяется над любым другим отладчиком, который я использовал, - это графическое представление данных. это позволяет отображать и упорядочивать структуры, объекты и память в виде перетаскиваемых блоков. двойной щелчок указателя откроет разыменованные данные с визуальными ссылками на родительский элемент.</p>

<p>вы когда-нибудь смотрели на <a href="https://developer.arm.com/products/software-development-tools/ds-5-development-studio/ds-5-debugger/overview">отладчик ds-5</a> ?</p><p>существует платная версия, которая включает в себя множество полезных функций, но вы также можете использовать community edition бесплатно (что также весьма полезно, особенно для встраиваемых систем).</p><p>у меня есть положительный опыт использования этого инструмента при отладке приложений android на реальном устройстве с использованием eclipse.</p>

<p>как кто-то, знакомый с visual studio, я рассмотрел несколько ide с открытым исходным кодом, чтобы заменить его, и kdevelop наиболее близок к imo, как то, что разработчик visual c++ может просто сесть и начать использовать. когда вы запускаете проект в режиме отладки, он использует gdb, но kdevelop в значительной степени обрабатывает все это, так что вам не нужно знать, что это gdb; вы просто один шаг или присваиваете часы переменным.</p><p>к сожалению, он все еще не так хорош, как отладчик visual studio.</p>

<p>вы не упоминаете, используете ли вы windows или unix.</p><p>в системах unix <a href="http://www.kdevelop.org/">kdevelop</a> - это хорошо, но я использую <a href="http://www.kdbg.org/">kdbg</a> , потому что он прост в использовании и будет работать с приложениями, не разработанными в kdevelop.</p><p> <a href="http://www.eclipse.org/">eclipse</a> хорош на обеих платформах.</p><p>в windows есть отличный пакет под названием <a href="http://wascana.sourceforge.net/">wascana desktop developer</a> , который представляет собой eclipse cdt и mingw, все они упакованы и предварительно настроены для минимальной боли. это лучшее, что я нашел для разработки кода gnu в windows.</p><p>я использовал все эти отладчики, и ни один из них не так хорош, как ms dev studio. eclipse/wascana, вероятно, ближе всего, но у него есть ограничения, например, вы не можете войти в библиотеки dll, и он не так хорош при изучении переменных.</p>

<p>то, через что можно пройти, будет в значительной степени ограничено отладочной информацией, создаваемой g ++. emacs предоставляет интерфейс для gdb, который позволяет вам управлять им через панели инструментов/меню и отображать данные в отдельных окнах, а также напрямую вводить команды gdb. cdt eclipse предоставляет аналогичные инструменты. я слышал об anjuta и code :: blocks, но никогда не использовал их.</p>

<p> <a href="http://www.codeblocks.org/">code: blocks</a> c++ ide имеет графическую оболочку с несколькими функциями, которые вы хотите, но не похожими на возможности vs.</p>

<p> <a href="http://visualgdb.com">visualgdb</a> - это еще один плагин visual studio для разработки и отладки приложений на linux и встроенных платформах.</p>

<p>вы пробовали gdb-w с cygwin gdb. предполагается иметь интерфейс windows, который работает довольно хорошо.</p><p>единственная проблема, которую я обнаружил, заключается в том, что на моей нынешней машине она не работала до тех пор, пока я не установил ddd. я подозреваю, что это требует tcltk, который был установлен, когда я установил ddd.</p>

<p>kdevelop работает довольно хорошо.</p>

<p>если вы ищете gdb в visual studio, то проверьте <a href="http://www.wingdb.com">wingdb</a> .</p>

<p>последняя версия geany поддерживает ее (но только в linux)</p>

<p>в последние 15 месяцев я использую понимание (пришел с fc6). это не очень хорошо, это написано на tcl/tk, но это просто и полезно. ddd имеет аналогичное качество/полезность, но несколько сложнее в использовании (различные ошибки и упущения в gui). я также попытался интегрировать gdb с моей ide, slickedit. он работал нормально (я играл с ним около 4 часов), но мне не нравились переключатели контекста gui. мне нравится, что мой ide остается неизменным во время отладки; в windows я использую slickedit для ide и visual studio debugger для отладки. итак, из 3: insight, ddd и slickedit, insight - мой первый выбор, я использую его> 95% времени, gdb командной строки и ddd составляют остальные 5%. если я получу шанс, я в какой-то момент оценю eclipse, мне кажется, что на моем рабочем компьютере недостаточно ram (только 1 гб) для разумной работы eclipse.</p><p>я также слышал много похвал за totalview, в том числе из первых рук во время собеседования. я получил eval для нашей компании в конце 2008 года, но в итоге мы не сделали этого, так как gdb был достаточно хорош для наших нужд; и это бесплатно и вездесуще.</p>

<p>я искал отладчик, чтобы пройти через работающую программу. скажи: прикрепить. программа была построена с eclipse, но из-за некоторых многопоточных препятствий, исходных файлов не было. без разницы.</p><p>мне стало очень удобно с netbeans.</p><ul> <li>[отладка] из меню -> прикрепить отладчик ...</li> <li>как процесс выбрал тот, который нужно отладить</li> <li>как проект [новый проект]</li> </ul><p>теперь окно не открывается, и вы ничего не видите. оторваться от процесса. чтение площади "стоп" помогает.</p><ul> <li>импортировать источник из проекта, например, папка. ".../myproject/цси</li> <li>теперь это появляется в вашем проекте, и вы можете установить точки останова.</li> <li>снова тч отладчик</li> <li>выбрал процесс для отладки.</li> <li>отладчик должен остановиться, если программа достигает следующей точки останова.</li> </ul><p>переход к [window] -> [debugging] -> сделает ваше окно удобным.</p>

<p>используйте www.zero-bugs.com/ нулевой отладчик, он требует поддержки c++ 0x от gcc</p>