DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  gcc/g++/gdb

上一页 1 2 3 4

摘要:此处所讲的是基于gdb和gdbsever的远程调试方法。环境为:PC机:win7、虚拟机:10.04、下位机:飞嵌TE2440开发板。 嵌入式linux应用程序的开发一般都是在linux里面编写好代码,并用交叉编译器arm-linux-gcc编译好之后再下载到板子上运行。如果建立了远程调试(能够在P 阅读全文
posted @ 2016-07-06 08:30 DoubleLi 阅读(7301) 评论(0) 推荐(1) 编辑

摘要:交叉编译gdb和gdbserver 1、下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本。当然,凡事无绝对。我们以gdb-7.2.tar.bz2 这个文件为例。2、解压缩: 注:小技巧:Linux下一般压缩文件后缀为. 阅读全文
posted @ 2016-07-06 08:29 DoubleLi 阅读(5389) 评论(0) 推荐(0) 编辑

摘要:gdb 调试多线程如果目标进程已经core dump了,那么 gdb -c core xxx xxx是对应的程序文件。如果目标进程还在运行,通常此时用于调试线程死锁的情况。有两种方法一是 gdb -p xxx xxx是该进程的进程ID或者用gcore xxx先获取对应进程的core,他会生成一个co 阅读全文
posted @ 2016-06-30 14:37 DoubleLi 阅读(1319) 评论(0) 推荐(0) 编辑

摘要:线程有自己的寄存器,运行时堆栈或许还会有私有内存。 gdb提供了以下供调试多线程的进程的功能: * 自动通告新线程。 * \ "thread THREADNO\ ",一个用来在线程之间切换的命令。 * \ "info threads\ ",一个用来查询现存线程的命令。 * \ "thread app 阅读全文
posted @ 2016-06-30 14:36 DoubleLi 阅读(371) 评论(0) 推荐(0) 编辑

摘要:一、多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程。 thread <ID> 切换调试的线程为指定ID的线程。 break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。 set scheduler- 阅读全文
posted @ 2016-06-30 14:34 DoubleLi 阅读(704) 评论(1) 推荐(0) 编辑

摘要:GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说GDB主要调试 阅读全文
posted @ 2016-06-30 14:23 DoubleLi 阅读(17470) 评论(0) 推荐(0) 编辑

摘要:我编写了一个循环: long i; for (i = 0; i < 999999; i++) { mt.a += 1; sleep(1); }把它编译成a.out,并在后台执行它:./a.out & [1] 2570 然后用命令gdb ./a.out 2570可以附加到这个进程上。被时进程会中断。 阅读全文
posted @ 2016-06-30 13:32 DoubleLi 阅读(912) 评论(0) 推荐(0) 编辑

摘要:gcc指定头文件路径及动态链接库路径 本文详细介绍了linux 下gcc头文件指定方法,以及搜索路径顺序的问题。另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论了搜索路径的顺序问题。本文包含了很多的例子,具有很强的操作性,希望读者自己去走一遍。一.#include <>与#include 阅读全文
posted @ 2016-06-07 09:01 DoubleLi 阅读(11996) 评论(0) 推荐(2) 编辑

摘要:一、头文件gcc 在编译时寻找所需要的头文件 :※搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH※再找内定目录/usr/include/usr/local/include/usr/lib/gcc-lib... 阅读全文
posted @ 2015-11-09 18:47 DoubleLi 阅读(6033) 评论(0) 推荐(0) 编辑

摘要:GCC的选项如何指定GCC的默认头 文件路径Linux系统的头文件 和库文件搜索路径头文件库文件运行时动态库的搜索路径GCC的选项-c只生成目标文件(.o),不连接。% gcc -c main.c% g++ -c reciprocal.cpp-I可以指定头文件的目录% g++ -c -I ../in... 阅读全文
posted @ 2015-07-09 23:07 DoubleLi 阅读(381) 评论(0) 推荐(0) 编辑

摘要:·-l参数和-L参数-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名... 阅读全文
posted @ 2015-07-07 16:48 DoubleLi 阅读(441) 评论(0) 推荐(0) 编辑

摘要:七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。... 阅读全文
posted @ 2015-06-24 15:15 DoubleLi 阅读(709) 评论(0) 推荐(0) 编辑

摘要:在gdb调试时segmentation fault问题时,遇到下面的了问题:Program received signal SIGABRT, Aborted.0x00007ffff73eb925 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/... 阅读全文
posted @ 2014-09-17 16:47 DoubleLi 阅读(1877) 评论(0) 推荐(0) 编辑

摘要:一:列文件清单1. List(gdb) list line1,line2二:执行程序要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命... 阅读全文
posted @ 2014-09-17 16:32 DoubleLi 阅读(411) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4