Какой лучший отладчик Linux C/C++ (или интерфейс для gdb) помогает обучению программированию?
Я преподаю новичкам "облегченный" курс программирования на C++ ("облегченный" означает отсутствие указателей, никаких классов, просто старый C, плюс ссылки и строку и векторы STL). Студенты не имеют опыта программирования, поэтому я считаю, что использование интерактивного отладчика поможет им понять ход программы, переменные и рекурсию.
Курс преподается в Linux. Научить их использовать GDB просто излишне (они не будут использовать и понимать большинство функций). Мне просто нужно что-то простое, но простое в использовании: чтобы увидеть, в какой строке находится программа, что находится в стеке (локальные переменные, предыдущие вызовы и т. Д.). Я похож на старый Turbo Pascal, отладчик Turbo C++ Borland или Visual Studio.
Спасибо,
6 ответов
DDD - это графический интерфейс к GDB, который довольно хорош. Одним из недостатков является классический интерфейс X, но, кажется, я помню, что он довольно интуитивно понятен.
Вы можете проверить Eclipse CDT. Он предоставляет C/C++ IDE, которая работает на нескольких платформах (например, Windows, Linux, Mac OS X и т. Д.). Отладка в Eclipse CDT сравнима с использованием других инструментов, таких как Visual Studio.
Вы можете ознакомиться с руководством по отладке Eclipse CDT, которое также содержит несколько снимков экрана.
Qt Creator, помимо других полезностей, также имеет хорошую интеграцию отладчика для CDB, GDB и отладчика Symnbian на всех поддерживаемых платформах. Вам не нужно использовать Qt для использования IDE Qt Creator, равно как и QMake - он также имеет интеграцию с CMake, хотя QMake очень прост в использовании.
Возможно, вы захотите использовать Qt Creator в качестве IDE для обучения программированию, учитывая, что у него есть несколько полезных функций:
- Очень умный и продвинутый редактор C++
- Инструменты управления проектами и сборками
- Интеграция QMake и CMake
- Интегрированная контекстно-зависимая справочная система
- Отличный визуальный отладчик (CDB, GDB и Symbian)
- Поддерживает GCC и VC++
- Инструменты быстрой навигации по коду
- Поддерживает Windows, Linux и Mac OS X
Возможно, это не относится к GDB (потому что это IDE), но мои рекомендации будут KDevelop. Будучи довольно испорченным отладчиком Visual Studio (профессионально работающим много лет), я до сих пор чувствовал себя наиболее комфортно в KDevelop (как хобби дома, потому что я не мог позволить себе Visual Studio для личного использования - до выхода Express Edition).). Он выглядит "чем-то похожим" на Visual Studio по сравнению с другими IDE, с которыми я экспериментировал (включая Eclipse CDT), когда дело доходит до отладки пошагового, пошагового и т. Д. (Размещение точек останова немного неудобно, потому что я не не люблю использовать мышь при кодировании, но это не сложно).
Я работаю в TotalView, и у нас есть бесплатная для студентов версия нашего коммерческого отладчика Linux C++ (также Fortran, MPI и потоки).
http://www.roguewave.com/company/academic-programs.aspx
Стоит отметить, что у нас также есть сильно сниженные цены на лицензии "на уровне класса".
См. http://www.roguewave.com/products/totalview/resources/videos.aspx где вы найдете несколько быстрых видео, иллюстрирующих работу продукта.
Некоторые специфические особенности, которые TotalView имеет для C++:
- Автоматическое преобразование классов коллекции STL во что-то разумное
- "Погружение" на указатели, чтобы увидеть, на что указывают
- Простое "приведение" указателей к массивам
- Возможность просматривать одно поле данных в каждом экземпляре объекта в массиве объектов.
- Установить точку останова на всех экземплярах класса
Крис Готбрат Менеджер по продукту TotalView Rogue Wave Software