欢迎来到天天文库
浏览记录
ID:15463224
大小:373.00 KB
页数:20页
时间:2018-08-03
《实验 销售与应收管理报告单》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、·实验3Linux系统C开发工具的使用学生姓名:王祥真学号:6103114095专业班级:计科143实验类型:□验证▥综合□设计□创新实验日期:2017.3.30实验成绩:一.实验目的熟悉Linux系统开发工具的使用二.实验内容1.程序的编辑、编译、运行和调试过程2.库的建立与使用3.makefile工程文件的使用三.实验环境PC微机Windows操作系统、虚拟机、Linux操作系统四.实验步骤1.程序的编辑、编译、运行与调试(1)编辑源程序(注意下面源代码中的空行也保留):tst.c#includeintfunc(in
2、tn){intsum=0,i;for(i=0;i3、st~]#./tstresult[1-100]=5050result[1-250]=31125(4)使用gdb进行C语言级调试[root@localhost~]#gdbtst<----------启动gdbGNUgdbRedHatLinux(6.1post-1.20040607.41rh)20Copyright2004FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/o4、rdistributecopiesofitundercertainconditions.Type"showcopying"toseetheconditions.ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.ThisGDBwasconfiguredas"i386-redhat-linux-gnu"...Usinghostlibthread_dblibrary"/lib/tls/libthread_db.so.1".(gdb)这时已处于gdb的调试环境,(gdb)5、提示符后可以用输入调试命令,关于gdb调试命令,可在网上搜索,自行测试,本实验只对部分命令进行验证:l1<--------------------前面字母l是命令(list的缩写),后面数字1从第一行开始例出原码。1#include23intfunc(intn)4{5intsum=0,i;6for(i=1;i<=n;i++)7{8sum+=i;9}10returnsum;(gdb)l<--------------这里命令表示继续显示下面源代码11}121314main()15{16inti;2017longresult=6、0;18for(i=1;i<=100;i++)19{20result+=i;(gdb)<--------------------这里回车表示重复上面命令,继续显示后面代码21}2223printf("result[1-100]=%d",result);24printf("result[1-250]=%d",func(250));25}26(gdb)break16<--------------------设置断点,在源程序第16行处(break也可简写为b)。Breakpoint1at0x8048496:filetst.c,line7、16.(gdb)breakfunc<--------------------设置断点,在函数func()入口处。Breakpoint2at0x8048456:filetst.c,line5.(gdb)infobreak<--------------------查看断点信息。NumTypeDispEnbAddressWhat201breakpointkeepy0x08048496inmainattst.c:162breakpointkeepy0x08048456infuncattst.c:5(gdb)r<------------------8、---运行程序,run命令简写Startingprogram:/root/tstBreakpoint1,main()attst.c:17<----------在断点处停住。17longresu
3、st~]#./tstresult[1-100]=5050result[1-250]=31125(4)使用gdb进行C语言级调试[root@localhost~]#gdbtst<----------启动gdbGNUgdbRedHatLinux(6.1post-1.20040607.41rh)20Copyright2004FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/o
4、rdistributecopiesofitundercertainconditions.Type"showcopying"toseetheconditions.ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.ThisGDBwasconfiguredas"i386-redhat-linux-gnu"...Usinghostlibthread_dblibrary"/lib/tls/libthread_db.so.1".(gdb)这时已处于gdb的调试环境,(gdb)
5、提示符后可以用输入调试命令,关于gdb调试命令,可在网上搜索,自行测试,本实验只对部分命令进行验证:l1<--------------------前面字母l是命令(list的缩写),后面数字1从第一行开始例出原码。1#include23intfunc(intn)4{5intsum=0,i;6for(i=1;i<=n;i++)7{8sum+=i;9}10returnsum;(gdb)l<--------------这里命令表示继续显示下面源代码11}121314main()15{16inti;2017longresult=
6、0;18for(i=1;i<=100;i++)19{20result+=i;(gdb)<--------------------这里回车表示重复上面命令,继续显示后面代码21}2223printf("result[1-100]=%d",result);24printf("result[1-250]=%d",func(250));25}26(gdb)break16<--------------------设置断点,在源程序第16行处(break也可简写为b)。Breakpoint1at0x8048496:filetst.c,line
7、16.(gdb)breakfunc<--------------------设置断点,在函数func()入口处。Breakpoint2at0x8048456:filetst.c,line5.(gdb)infobreak<--------------------查看断点信息。NumTypeDispEnbAddressWhat201breakpointkeepy0x08048496inmainattst.c:162breakpointkeepy0x08048456infuncattst.c:5(gdb)r<------------------
8、---运行程序,run命令简写Startingprogram:/root/tstBreakpoint1,main()attst.c:17<----------在断点处停住。17longresu
此文档下载收益归作者所有