gdb学习】的更多相关文章

gdb学习 [参考资料] http://www.cnblogs.com/jiu0821/p/4483804.html 程序的运行状态有"运行"."暂停"."停止"三种 gdb常用命令: gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) break func:在函数func()的入口处设置断点 (gdb) info break: 查看断点信息 (gdb) r…
Linux之GDB学习 GDB是一款优秀的调试工具,懂的人自然懂,一直以来用它都没有好好整理过使用方法,我用的也是皮毛,目前先整理一下皮毛,日后再更新 使用方法 编译C++ 从编译的角度上来说,需要在编译的时候加上-g参数,生成调试信息,否则GDB无法对该程序进行Debug $ gcc -g main.cc 启动GDB $ gdb /your/program即可 设置命令行参数 set args 给args变量赋值 (gdb) set args -a -b或$ gdb /your/program…
GCC学习 1.gcc是根据后缀名来区分文件的 .c : c语言源文件 .a : 目标文件构成的库文件 .C/.cc/.cxx : c++源文件 .h : 头文件 .i : 预处理过的C源文件 .ii : 预处理过的C++源文件 .o : 编译后的目标文件 .s : 汇编语言源代码文件 .S : 经过预处理的汇编语言源代码文件 2.生成可执行文件四个步骤 预处理 :宏展开,头文件引入, 编译 : 汇编 : 连接 : 3.GCC编译选项 -o :指定可执行文件的名字,默认是a -c :只做到编译即…
一:列文件清单  1. List  (gdb) list line1,line2 二:执行程序  要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*.?.[.])在内.  如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的.  利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表.  (gdb)set args –…
概要 gdb是GNU debugger的缩写,是编程调试工具. 功能 1.启动程序,能够依照用户自己定义的要求随心所欲的执行程序. 2.可让被调试的程序在用户所指定的断点处停住 (断点能够是条件表达式). 3.当程序停住时,能够检查此时程序中所发生的事. 4.动态改变程序的执行环境. 演示样例: gcc -Wall -g simple.c -o simple #一定要记得加上-g选项,以便生成调试信息 启动gdb:gdb [-q] [executable-file] [core-file] gd…
查看运行时数据 print - 查看变量值 ptype – 查看变量类型 #ptype i #ptype "aaa" 打印字符串"aaa"的类型 #ptype array 打印数组array的类型 #ptype main 打印main函数的类型 print array – 查看数组 #p arr1 #p arr1[2] 查看数组arr2第三个元素值 #p &arr1[2] 打印数组元素的地址 #p &arr1 打印数组首地址,与p &arr1…
概述 gdb是GNU debugger的缩写,是编程调试工具. 功能 1.启动程序,可以按照用户自定义的要求随心所欲的运行程序. 2.可让被调试的程序在用户所指定的断点处停住 (断点可以是条件表达式). 3.当程序停住时,可以检查此时程序中所发生的事. 4.动态改变程序的执行环境. 示例: gcc -Wall -g simple.c -o simple #一定要记得加上-g选项,以便生成调试信息 启动gdb:gdb [-q] [executable-file] [core-file] gdb s…
其实,从很早就开始接触gdb程序,gdb调试程序伴我成长,现在对其用法记录以下: 当程序的运行结果和预期结果不一致,或者程序出现运行错误时,gdb就可以派上大用处了.调试的基本过程是:  -> 根据情况,分析现象 -> 根据直觉,假设原因 -> 根据经验,修改验证 -> | | <-   根据经验,修改验证 <-  根据直觉,假设原因 <- 根据情况,分析现象 <- 直到程序的结果和预期完全一致为止,就可以结束苦逼的程序调试了.调试器(如GDB)的目的是允许…
通常使用gdb在Linux下调试C/C++程序,编译的时候加上-g选项(gcc -g ......).下面总结的是我自己经常使用(当然也有一些用的比较少)的gdb命令. (1)开始及退出 开始:gdb program 退出:quit (简写q)或者Ctrl+d (2)自动补全:Tab (3)启动程序: run(简写r):运行程序直到遇到断点 与srart的区别:start会在程序的入口函数(通常是main)设置一个临时断点,然后调用run. (4)断点(breakpoint):简写b 设置断点:…
checkpoint的内容参考: http://blog.chinaunix.net/uid-23629988-id-2943273.html 这一篇主要是checkpoint,在next之前加checkpoint命令,然后就可以用 restart 1 来恢复到之前的checkpoint,可以避免从头再来. 用 info checkpoints 可以看到所有的checkpoints. 好像也能看到breakpoint的 (gdb) info checkpoints * process at pr…