Работа с инструментальным средством для отладки программ 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

/**

Наши рекомендации