




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、嵌入式系統原理及應用實驗指導書北京理工大學珠海學院機械與車輛學院20147實驗3 GDB調試器和Make工程管理器一、實驗目的1.掌握利用GDB調試器調試C語言程序的基本方法2.掌握Linux下make工具的使用方法二、實驗環境與條件1.標配PC機2.VMware Workstation 93.Red Hat Enterprise Linux 54.GCC編譯器5.GDB調試器6.Make工程管理器三、實驗內容(一)GDB調試器使用1. 相關知識點GDB基本命令l(list)查看程序代碼(每次10行)b(break)XXX設置斷點,XXX可以是函數名、行號、文件名等info break查看所有
2、設置的斷點delete斷點編號刪除斷點r(run)運行程序n(next)單步執行(不進入子函數)s(step)單步執行(進入子函數)c(continue)繼續運行程序p(print) 變量查看指定變量的值finish運行程序,直到當前函數結束watch變量名對指定變量進行監控n(quit)退出調試器2. 通過sum.c程序實例,學習利用GDB調試器調試程序的方法先將實驗2中編寫并備份的test目錄壓縮包文件test.tgz(本實驗需使用該目錄中的sum.c文件)重新恢復到/root目錄下(以下操作要求先將test.tgz文件拷貝到Windows下虛擬機的共享目錄D:share)。#cd /ro
3、ot#cp /mnt/hgfs/share/test.tgz ./(復制文件到/root)#tar -zxvf test.tgz(解壓縮)#cd test(本實驗工作目錄/root/test)(1)sum.c(實驗2的練習程序)程序代碼如下。#include<stdio.h>int sum(int n);main()int s=0;int i,n;for(i=0;i<=50;i+)s=i+s;s=s+sum(20);printf("the result is %dn",s);int sum(int n)int total=0;int i;for(i=0;i
4、<=n;i+)total=total+i;return (total);(2)編譯源程序注意:使用GDB調試器,必須在編譯時加入調試選項-g。#gcc -g sum.c -o sum(3)啟動gdb調試器,進入gdb調試環境#gdb sum(4)查看源代碼(5)設置斷點(6)運行并調試程序調試結束后退出調試器:(gdb)quit3. 課后自行練習對教材P73頁bug.c源程序的調試(二)Make工程管理器的使用結合教材3.3.2節程序,學習使用Make工程管理器1.使用vi編輯器編寫源程序本實驗工作目錄為/root/test/m,共有7個C源程序文件,分別是m.c,m.h,study.c
5、,listen.c,visit.c,play.c,watch.c,各文件代碼如下:(1)m.c程序#include<stdio.h>main() int i; printf("please input the value of i from 1 to 5:n"); scanf("%d",&i); if(i=1) visit(); else if(i=2) study(); else if(i=3) play(); else if(i=4) watch(); else if(i=5) listen(); else printf(&quo
6、t;nothing to don"); printf("This is a woderful dayn");(2)m.h程序void visit();void listen();void watch();void study();void play();(3)study.c程序#include<stdio.h>void study()printf("study embedded system todayn");(4)listen.c程序#include<stdio.h>void listen()printf("
7、listen english todayn");(5)play.c程序#include<stdio.h>void play()printf("play football todayn");(6)visit.c程序#include<stdio.h>void visit()printf("visit friend todayn");(7)watch.c程序#include<stdio.h>void watch()printf("watch TV todayn");2.編輯Makefile并進行
8、編譯(1)編輯Makefile#vi Makefile(注意字母大小寫,當前工作目錄為/root/test/m)編輯Makefile內容如下:CC=gccTARGET=AllOBJECTS= m.o visit.o listen.o watch.o study.o play.o$(TARGET):$(OBJECTS)$(CC) $(OBJECTS) -o mm.o:m.c m.h$(CC) -c m.c -o m.ovisit.o:visit.c$(CC) -c visit.c -o visit.olisten.o:listen.c$(CC) -c listen.c -o listen.owa
9、tch.o:watch.c$(CC) -c watch.c -o watch.ostudy.o:study.c$(CC) -c study.c -o study.oplay.o:play.c$(CC) -c play.c -o play.oclean:rm *.o(2)按Makefile進行編譯(make缺省方式下按Makefile配置進行編譯)#make編譯后生成的文件如下:(3)執行生成的程序m#./m(4)對Makefile進行預定義變量簡化,獲得新的配置文件Makefile2#cp Makefile Makefile2#vi Makefile2編輯Makefile2內容如下:CC=gc
10、cTARGET=AllOBJECTS= m.o visit.o listen.o watch.o study.o play.o$(TARGET):$(OBJECTS)$(CC) $ -o mm.o:m.c m.h$(CC) -c $< -o $visit.o:visit.c$(CC) -c $< -o $listen.o:listen.c$(CC) -c $< -o $watch.o:watch.c$(CC) -c $< -o $study.o:study.c$(CC) -c $< -o $play.o:play.c$(CC) -c $< -o $clean:rm *.o(5)清除上次編譯所產生的過程文件#make clean(清除所有*.o文件)#rm -f m(刪除生成的可執行文件)(6)重新按Makefile2進行編譯#make -f Makefile2(指定根據Makefile2進行編譯)編譯后生成的文件如下:(7)執行生成的程序m#./m3.課后請同學根據教材中介紹的對Makefile進一步的簡化以及針對文件在不同目錄下的Make
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷史文化步道規劃實施方案(參考模板)
- 金剛石產業園項目可行性研究報告(范文參考)
- 加強中職學校校園欺凌治理的教師作用
- 心理教育小學生課件
- 廣東省四會中學、廣信中學2023-2024學年高一上學期第二次月考地理含答案
- 室內設計師的職責
- 安徽中醫藥大學《高材化工設計》2023-2024學年第二學期期末試卷
- 遼寧軌道交通職業學院《量化金融學(雙語)》2023-2024學年第二學期期末試卷
- 南京科技職業學院《工程項目管理含建設法規》2023-2024學年第二學期期末試卷
- 漳州職業技術學院《專業必讀書目考核》2023-2024學年第二學期期末試卷
- JJF1101-2019環境試驗設備溫度、濕度校準規范-(高清現行)
- 冷卻塔使用說明書
- 蔬菜捆扎機機械部分的設計說明書
- 腌臘肉制品生產車間工藝布置圖
- 配電柜安裝規則GGD
- 課程設計--鐵路綜合性貨場平面圖設計
- 漁夫和金魚的故事.ppt
- 大金空調設定代碼表
- DCDC變換器電力電子課程設計報告
- GB 19295-2021 食品安全國家標準 速凍面米與調制食品(高清版)
- 國際籃聯三對三籃球比賽記錄表
評論
0/150
提交評論