gdb & make

1.静态库示例
在这里插入图片描述
动态库示例
在这里插入图片描述

2.gcc-static:此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行。
3.gdb调试工具的功能
(1)启动程序,可以按照自定义的要求运行程序。
(2)可让被调试的程序在指定的断点处停住。(断点可以是条件表达式)
(3)当程序被停住时,可以检查此时程序中发生的事。
(4)改变程序,测试其他BUG。
3.2文件清单
list + 列出当前行的后面代码行
list - 列出当前行的前面代码行
list function
set listsize count 设置显示代码的行数
show listsize 显示打印代码的行数
list first,last 显示从first到last的源代码行
3.3程序执行
运行准备调试的程序,使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<;和>;)和shell通配符(*、?、[、])在内。如果使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。
例:
(gdb) file a.out //加载被调试的可执行程序文件。
(gdb)set args –b –x
(gdb) show args
(gdb)r //执行程序
backtrace命令为堆栈提供向后跟踪功能。产生一张列表包含着从最近的过程开始的所有有效过程和调用这些过程的参数列表。
3.4设置断点
(1)break line-number 使程序恰好在执行给定行之前停止。
(2)break function-name 使程序恰好在进入指定的函数之前停止。
(3)break line-or-function if condition 如果condition(条件)是真,程序到达指定行或函数时停止。
(4)break routine-name 在指定例程的入口处设置断点
4.make:make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则)。在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
4.1在执行 make 之前,需要一个命名为 Makefile 的特殊文件来告知 make 需要完成什么任务。当使用make 工具进行编译时,工程中以下几种文件在执行make 时将会被编译(重新编译):
(1)所有的源文件没有被编译过,则对各个源文件进行编译并进行链接,生成最后的可执行程序。
(2)每一个在上次执行 make 之后修改过的 源代码文件在本次执行make 时将会被重新编译。
(3)头文件在上一次执行make 之后被修改。则所有包含此头文件的 源文件在本次执make 时将会被重新编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值