- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何突破在写pintos 过程中遇到的问题
突破写pintos项目中的各种问题在写pintos project中难免会出现很多问题。下面是我总结的一些解决问题的方法:百度谷歌下晚到的问题。看下别人写好的代码,网上有,可以下载。问一下其他人,队友,老师等。以上几个方法都不行的情况下,只能靠自己了。终极方法:调试。没有调试解决不了的问题。下面着重介绍用gdb调试的方法。包括了调试核心代码和用户程序怎么开始调试?打开一个终端, 进入到src/threads/ 或者src/userprog或者src/threas/build 或者src/userprog/build下面默认进入了src/threads/输入:pintos --gdb -- run alarm-multiple请注意:--gbd中 --与gdb之间没有空格; -- run 中--与run 之间必须有空格出现:再打开一个终端:进入到src/threads/build/中输入:pintos-gdbkernel.o出现:输入debugpintos出现:现在就可以调试了,具体怎么用gdb调试程序在网上有很多资料。l -------------------------这是小写L, list列出代码b x ---------------- 在x处设置断点, b--break如 b 10 在第10行设置断点b main 在函数main开始处设置断点b *0x12345 在内存地址0x12345处设置断点b process.c:start_process在process.c文件中的start_process函数入口处设置断点c --------------continue 开始运行到下一个断点处delete ------------- 删除断点p x ---------------显示变量x的值x /20wx 0x7c000 ----------- 显示20个内存地址0x7c000处的值,w-表示显示4字节,x表示用16进制显示q ------------------------quit 退出调试s --------------- step单步进入函数中n ----------------next 跳过函数还有很多……进入第二章后还要调试用户程序,调试方法可以在gdb-macros 中找到。关键在导入用户程序的符号表,这样做:gdbloadusersymbols echo下面演示调试用户程序echo进入src/example/中输入make编译好就ok进入src/userprog/中输入make编译成功进入src/userprog/build/中制作虚拟硬盘pintos-mkdiskfilesys.dsk–filesys-size=2格式化虚拟硬盘filesys.dskpintos–f –q复制../../example/中的echo文件到当前文件夹中cp ../../example/echo echo将echo 放入到虚拟硬盘中pintos -p echo -a echo -- -q开始启动调试打开一个终端,进入到src/userprog/build中输入命令:pintos --gdb -- run echo打开另一个终端,也进入到src/userprog/build/中输入命令:pintos-gdbkernel.o进入gdb界面:gdbdebugpintosgdbloadusersymbols echo此时出现:显然,.text_addr = 0x80480e0就是echo main 函数的入口地址设置断点:gdbb echo.c:main再输入gdbc运行到echo.c的main()函数入口处如下图:OK,接下来就好调试了。。
您可能关注的文档
- 司机室内装项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案.docx
- 合肥工业大学主题团日活动申请表1.doc
- 吉大15秋学期《新视野英语(二)》在线作业二.doc
- 09年:第十讲公共部门人力资源开发与管理概述.ppt
- 员工聘用规定及合同.docx
- 08试题分析与09复习对策.ppt
- 呼叫中心系统功能.docx
- 命令行模式 命令.doc
- 咳嗽(感冒后咳嗽或感染后咳嗽)中医临床路径.doc
- 09管理会计06东方会计练习题与答案.doc
- 福建省福州九校联考2024~2025学年八年级上册期末物理试卷[附解析].pdf
- 贵州省铜仁市江口县2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 湖南省湘西州凤凰县2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 贵州省贵阳市观山湖区、贵安新区2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 新疆乌鲁木齐市新疆生产建设兵团第二中学2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 四川省成都市锦江区嘉祥外国语学校2024~2025学年八年级上册期末物理试卷[附解析].pdf
- 河北省唐山市路南区唐山友谊中学、第九中学2024~2025学年八年级上册12月月考物理试卷[附解析].pdf
- 安徽省芜湖市2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 山东省日照市岚山区2024~2025学年八年级上册期末考试物理试卷[附解析].pdf
- 2025届内蒙古自治区中考物理试卷[附解析].pdf
文档评论(0)