Я написал такую простую программу на C++:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello.";
return 0;
}
Теперь хочу его отладить. Итак, какая будет команда для этого, чтобы я контролировал каждую строку?
Необязательно, в вашей программе нет ошибок.
Я знаю, что это шутка, но мне не нравится, как отладчики сосредоточены на удалении ошибок. Отладчики позволяют нам понимать программы способами, которые были бы невозможны при простом изучении кода.





Для этого можно использовать gdb:
$ gdb hello
Это запустит gdb и предложит вам, что делать дальше. Команда next выполняет одну строку исходного кода и останавливается на следующей строке.
Я нашел базовый GDB учебник, который может быть полезен.
Не забудьте скомпилировать исходный код с помощью опции -g.
Как это: g++ -g helloWorld.cc
Это создаст исполняемый файл a.out.
Вы сможете отлаживать свой a.out exe с помощью команды gdb ./a.out.
Другой инструмент, который вы можете использовать, это ддд, в основном графический интерфейс для gdb.
Удачи
Если вам нужен удобный отладчик, вы можете использовать Kdbg, который, по сути, является интерфейсом gdb для KDE. Возможно, не такой мощный, как ddd, но для начала проще.
Я всегда думал, что emacs предоставляет довольно удобный интерфейс для gdb ...
Например.
(Этого должно быть достаточно, чтобы вы начали. Emacs - это emacs, всегда есть больше возможностей ...)
Я рекомендую компилировать с g++ -Wall -Wextra hello.cc -g -o hello, потому что предупреждения компилятора действительно полезны.
В курсе программирования C++, который я читал в Швеции, была часть лаборатории, посвященная отладчику GNU. Я никогда не использовал его после, но здесь есть статья, объясняющая основное использование, насколько я помню, в главе 2.
В этом руководстве рассказывается, как отлаживать за 6 простых шагов thegeekstuff.com/2010/03/debug-c-program-using-gdb