Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-09-10 | 212 |
5.00
из
|
Заказать работу |
|
|
В практической работе, был рассмотрен отладчик 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
/**
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!