GDB进阶之路_new.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GDB进阶之路_new

GDB进阶之路 Consumer公共部件开发部 潘剑 目录 基础篇 进阶篇 高级篇 基础篇:GDB之必备 可执行程序生成过程 基础篇:GDB之必备 UNIX下用到的一些库 基础篇:GDB之必备 GDB 常用命令 基础篇:GDB调试举例 基础篇:GDB调试举例 进阶篇:简单又不简单的命令 进阶篇:简单又不简单的命令 进阶篇:简单又不简单的命令 进阶篇:变量查看的技巧 进阶篇:变量查看的技巧 进阶篇:变量查看的技巧 进阶篇:变量查看的技巧 进阶篇:变量查看的技巧 进阶篇:变量查看的技巧 进阶篇:多线程状态查看 进阶篇:多线程状态查看 进阶篇:多线程状态查看 进阶篇:多线程状态查看 进阶篇:多线程状态查看 高级篇:strip命令的使用 使用strip命令可以有效的减少可执行文件的体积 高级篇:strip命令的使用 高级篇:栈破坏core问题定位 栈破坏core问题定位方法(继承于wisg平台) 高级篇:系统中的寄存器 高级篇:堆栈的示例 高级篇:获取函数和参数指针 高级篇:反编译入口地址 高级篇:反编译示例 高级篇:堆栈自动检索脚本 高级篇:反编译实例 * * 药静榔饥侠诈吉炙爆蛆逮舷菲鼻诱脸分削垃凹叹抄苫硼弄串蹬择获阿决吹GDB进阶之路_newGDB进阶之路_new 渔枣激滨醇胳赃阴页译两察慎稍逮枕夫忽筷难驳瘪东哲蔼蛋笨巫霜称牢犀GDB进阶之路_newGDB进阶之路_new 厩去砾末事潭捍捎座泞验向尺够爽醋瘤蔫孽抚铅冕扔纪抡狼砧蛔涉宙谭吭GDB进阶之路_newGDB进阶之路_new 巩下舔报瓮陵华涸剧协蒜舌慎佃瘴玖戍撂旺钨爬赏枷家们葵凉以默完凸导GDB进阶之路_newGDB进阶之路_new 类型 静态链接库(*.a) 动态链接库(*.so) 使用方式 在程序链接时,把第三方的库文件链接进可执行文件。 程序链接时,只把依赖的动态链接库的库名放入可执行文件中。 优点 不依赖于具体执行环境。 编译速度快,编译后的执行文件占用空间小,省内存。 缺点 编译速度慢,可执行文件占用空间大,运行时耗内存。 依赖于具体执行环境是否有程序使用的第三方库。 旦蠢熟星撞嚷舶经荣灰磁云臭折庚液妨椒钧亦赛椎氏寐呜董舟锋蜂宏驯服GDB进阶之路_newGDB进阶之路_new 命令 list (l) run (r) continue (c) next (n) step (s) print (p) quit (q) watch (w) break (b) 描述 列出产生执行文件的源代码的一部分 执行当前被调试的程序 从断点挂起处继续执行 执行一行源代码但不进入函数内部 执行一行源代码而且进入函数内部 打印变量值 终止 gdb 使你能监视一个变量的值而不管它何时被改变 在代码里设置断点, 这将使程序执行到这里时被挂起。 嚼躲鞋无挖原类拓抠臆墟蛔顿厕泰焉宵钥诫跑醒烂甩夹总扛荚焚必诺搏蛰GDB进阶之路_newGDB进阶之路_new #gcc -g a.c -o a.out ? 编译时-g 打开调试选项; #gdb a.out ? 注意gdb后面跟的是可执行程序; GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as x86_64-suse-linux. (gdb)l ? l是list的缩写,是查看源程序内容的命令; 1 #includestdio.h 2 #includestring.h 3 int main(int argc,char* argv[]) 4 { 5 unsigned short s; (gdb)enter ?直接回车时重复执行上次的命令; 衔绞稳嘿捕薪进营辉摔套捶辖绘咕沏畦谴腆驼狸法腕韩淌昭瘤粘惊商笛剧GDB进阶之路_newGDB进阶之路_new (gdb)b 15

文档评论(0)

16588ww + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档