GDB调试工具
普通网友
这个作者很懒,什么都没留下…
展开
-
用GDB调试程序
使用GDB一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:$gcc -g -Wall hello.c -o hello$g++ -g -Wall hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运...转载 2015-07-27 10:38:56 · 601 阅读 · 0 评论 -
gdb 多线程调试
先介绍一下GDB多线程调试的基本命令。info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。thread ID 切换当前调试的线程为指定ID的线程。break thread_test.c:123 thread all在所有线程中相应的行上设置断点thread apply ID1 I...转载 2015-07-27 10:56:30 · 623 阅读 · 0 评论 -
Gdb调试多进程程序
Gdb调试多进程程序程序经常使用fork/exec创建多进程程序。多进程程序有自己独立的地址空间,这是多进程调试首要注意的地方。Gdb功能强大,对调试多线程提供很多支持。方法1:调试多进程最土的办法:attach pidAttach是调试进程的常用办法,只要有可执行程序以及相应PID,即可工作。当然,为方便调试,可以在进程启动后,设定sleep一段时间,如30s,这样即可有充足的时间来...转载 2015-07-27 11:13:36 · 1150 阅读 · 0 评论 -
用gdb调试动态链接库
大家都知道在Linux可以用gdb来调试应用程序,当然前提是用gcc编译程序时要加上-g参数。我这篇文章里将讨论一下用gdb来调试动态链接库的问题。首先,假设我们准备这样的一个动态链接库:引用:库名称是:ggg动态链接库文件名是:libggg.so头文件是:get.h提供这样两个函数调用接口:intget();intset(int...转载 2015-07-27 11:16:01 · 1827 阅读 · 1 评论 -
描述GDB,GNU的原代码调试器
本文描述GDB,GNU的原代码调试器。(这是4.12版1994年一月,GDB版本4。16)* 目录:* 摘要: GDB的摘要* 实例: 一个使用实例* 入门: 进入和退出GDB* 命令: GDB 的命...转载 2015-08-28 09:41:43 · 541 阅读 · 0 评论