Работа с инструментальным средством для отладки программ gdb
В практической работе, был рассмотрен отладчик GDB, входящий в комплект программ GNU. Для того, чтобы им пользоваться, нужно сначала скомпилировать программу так, чтобы её двоичный файл содержал отладочную информацию. Эта информация включает в себя, в частности, описание соответствий между адресами исполняемого кода и строками в исходном коде.
Установка: «apt-get install gdb», Ubuntu
Список команд: backtrace – выводит весь путь к текущей точке останова, то есть названия всех функций, начиная от main();
break – устанавливает точку останова; параметром может быть номер строки или название функции;
clear – удаляет все точки останова на текущем уровне стека (то есть в текущей функции);
continue – продолжает выполнение программы от текущей точки до конца; delete – удаляет точку останова или контрольное выражение;
display – добавляет выражение в список выражений, значения которых отображаются каждый раз при остановке программы;
finish – выполняет программу до выхода из текущей функции; отображает возвращаемое значение, если такое имеется;
info breakpoints – выводит список всех имеющихся точек останова;
info watchpoints – выводит список всех имеющихся контрольных выражений; list – выводит исходный код; в качестве параметра передаются название файла исходного кода, затем, через двоеточие, номер начальной и конечной строки; next – пошаговое выполнение программы, но, в отличие от команды step, не выполняет пошагово вызываемые функции;
print – выводит значение какого-либо выражения (выражение передаётся в качестве параметра);
run – запускает программу на выполнение;
set – устанавливает новое значение переменной step – пошаговое выполнение программы;
watch – устанавливает контрольное выражение, программа остановится, как только значение контрольного выражения изменится;
Отладка:
1. «g++ -g myprog.cpp -o myprog» компиляция программы с атрибутом -g
2. «gdb ./myprog» запуск программы в отладчике gdb
3.«run [args]» дебаг программы
Описание выполненного задания:Написать программу на языке c++, выполнить ее отладку.
Вывод:При прохождении учебной практики было использовано инструментальное средство для отладки программ gdb, которое не показало наличия каких-либо ошибок в программном коде.
Работа с инструментальным средством документирования программ Doxygen
Doxygen — это кросплатформенная система для получения документации на основе исходных текстов. Система поддерживает C++, C, Java, Objective-C, Python, IDL(CORBA и MIDL), Fortran, VHDL, PHP, C# и, частично, D. Doxygen выбирает документацию из комментариев сделанных в коде, но может быть полезен и при работе с недокументированными исходными текстами, оформив структуру кода: он строит прекрасные диаграммы классов и графы зависимостей, а также оформляет код гиперссылками. Вывод можно получить в HTML или LaTeX и может легко быть сконвертирован в CHM или PDF. Кроме этого, doxygen имеет встроенную поддержку генерации документации в формате man, RTF и XML.
Установка: sudo apt-get install doxygen
Использование Doxygen: Использовать Doxygen просто – для этого надо просто запустить программу указав ей путь к файлу с настройками. Файл с настройками представляет собой простой текстовой файл, который можно редактировать как в текстовом редакторе, так и с помощью специальных программ, например Doxygate. В настройках описывается внешний вид документации, какие сущности и отношения между ними следует включать в нее, имя проекта, путь к анализируемым файлам и так далее. Для создания файла конфига выполните команду «doxygen -g имя_файла_конфига». Программа сгенерирует файл с настройками по умолчанию.
Описание выполненного задания:Создание документации к своей собственной программе.
Вывод:При прохождении учебной практики была создана документация к собственной программе, написанной на языке программирования C++.
Заключение
Список используемой литературы
http://www.thegeekstuff.com/2010/03/debug-c-program-using-gdb
http://www.linuxcenter.ru/lib/books/linuxdev/linuxdev9.phtml
https://habrahabr.ru/post/181738/
http://www.devexp.ru/2010/02/ispolzovanie-doxygen-dlyadokumentirovaniya-koda/
https://habrahabr.ru/sandbox/26539/
http://courses.graphicon.ru/files/courses/cg/2008/prac/doxygen.pdf
https://www.stack.nl/~dimitri/doxygen/manual/
Приложение
Код программы
Файл calc.cpp
#include <iostream>
#include <cstdio>
#include <string>
#include "f.h"
using namespace std;
Int main()
{ float firstnumber, secondnumber, answer;
char symbol; string name;
cout << "Enter number:"; cin >>firstnumber;
cout << "Enter mathematic system:"; cin >>symbol;
cout << "Enter number:";cin >> secondnumber;
Switch (symbol)
{
case '+':
answer = sum(firstnumber,secondnumber);
name="sum"; break;
case '-':
answer = dif(firstnumber,secondnumber);
name="difference"; break;
case '*':
answer = multiply(firstnumber, secondnumber);
name="product"; break;
case 'x':
answer = multiply(firstnumber, secondnumber);
name="product"; break;
case '/':
answer = quo(firstnumber,secondnumber);
name="quotient"; ;
}
cout << "The " << name << " of " <<firstnumber << " and " <<secondnumber << " is "<< answer << "\n";
}
Файл f.h
/**