设为首页 加入收藏

TOP

调试器(GDB)的基本使用方法(之二)(二)
2014-11-23 21:34:10 来源: 作者: 【 】 浏览:10
Tags:调试器 GDB 基本 使用方法 之二
main () at staticvariable.c:19
19 {
$1 = 0
(gdb) n
28 printf("i = :%d\n", i);
(gdb) n
19 {
(gdb) n
28 printf("i = :%d\n", i);
(gdb) n
19 {
(gdb) n
28 printf("i = :%d\n", i);
(gdb) n
i = :10
j = :1

Breakpoint 1, main () at staticvariable.c:32
32 }
$2 = 100
(gdb) n
0x0014c4d3 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
(gdb) n
Single stepping until exit from function __libc_start_main,
which has no line number information.
[Inferior 1 (process 2950) exited normally]

/* FileName:    staticvariable.c
* Description: 用来测试静态变量的输出结果。
* Author:      Howard
* Date:        2013-12-05
* Version:     v1.0
*/

#include 

static int j = 0;

int func1(void)
{
     static int i = 0;
     i ++;
     return i;
}

void func2(void)
{
     j = 0;
     j ++;
} 

int main(void)
{
     int k;
     int i;
     
     for (k=0; k<10; k++){
          i = func1();
          func2();
     }
     k = 100;
     printf("i = :%d\n", i);
     printf("j = :%d\n", j);
     
     return 0;
}



常用命令及省略形式
命令 简写形式 说明
backtrace bt、where 显示backtrace
break b 设置断点
continue c 继续运行
delete d 删除断点
finish 运行到函数结束处
info breakpoints info b 显示断点信息
next n 执行下一行
print p 显示表达式
run r 运行程序
step s 一次执行一行,但是可以进入到函数内部(这点与next不同)
x 显示内存内容
until u 执行到指定的行
其他命令
命令 简写形式 说明
directory dir 插入目录
disable dis 禁用断点
down do 在当前调用栈中选择要显示的栈帧
edit e 编辑问价或函数
frame f 选择要显示的栈帧
forward-search fo 向前搜索
generate-core-file gcore 生成内核转储
help h 显示帮助一栏
info i 显示信息
list l 显示函数或行
nexti ni 执行下一行(以汇编代码为单位)
print-object po 显示目标信息
sharedlibrary share 加载共享库的符号
stepi si 执行下一行


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇调试器(GDB)的基本使用方法(之.. 下一篇c语言中关于指针的一些乱七八糟的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: