使用gdb调试多进程多线程程序
来源:互联网 发布:古墓丽影崛起n卡优化 编辑:程序博客网 时间:2024/05/18 19:45
使用gdb调试多进程多线程程序
1.多进程调试代码测试用例 :
以下是我的代码:
我的编译过程:
gcc -o test1 test1.c -g
调试:gdb test1
这是编译和调试的过程:
调试的结果:
2.多线程调试代码测试用例:多线程程序在链接时应该加上-lpthread或者-pthread
1)多线程调试代码测试用例1
调试的结果:
2)多线程调试代码测试用例2
调试结果:
上面两个用例的编辑和调试过程均如下:
编译过程:
gcc -lpthread -o pthreads pthreads.c -g
调试过程:
gdb pthreads
这是编译和调试的过程:
这是关于线程的Makefile的内容:
3.对调试指令进行总结
1)在使用gdb调试之前,首先必须gcc -g命令生成带有调试信息的可执行程序。否则调试时会看到一堆汇编代码:
例如对于线程的编译就是这样写:
gcc -lpthread -o pthreads pthreads.c -g
2)常用的gdb命令总结
gdb pthreads—————–启动gdb调试pthreads
(gdb) l————————–列出源代码,默认是10行(按回车继续执行上一条命令)
(gdb) l n———————–列出源代码第n行附近的代码
(gdb) l 函数名—————–出某个函数的源代码
(gdb) r————————-单步运行程序
(gdb) s————————-进入函数调试
(gdb) b(行号)————–在某行设置断点
(gdb) b(函数名)———–在某函数开头设置断点
(gdb) q————————退出gdb
(gdb) n————————单条执行
(gdb) p————————打印变量值
(gdb) finish——————-执行到当前函数返回,然后停下来等待命令
(gdb) display 变量名———跟踪查看一个变量,每次停下来显示他的值
- 使用gdb调试多进程多线程程序
- 使用gdb调试多进程多线程程序
- 使用gdb调试多进程多线程程序
- 使用gdb调试多进程多线程程序
- 使用GDB调试多进程/多线程程序
- 使用gdb调试多进程多线程程序
- 使用gdb调试多进程、多线程程序
- 使用gdb调试多线程多进程程序
- 使用gdb调试多进程及多线程程序
- 使用gdb调试多进程和多线程程序
- Linux下使用gdb调试多进程与多线程程序
- 【Linux】使用gdb调试多进程多线程程序
- Linux----使用GDB调试多进程和多线程程序
- 使用gdb调试多进程与多线程程序
- Linux:如何使用gdb调试多进程多线程程序
- 使用gdb调试多进程多线程调试
- gdb调试多进程和多线程程序
- gdb调试多线程多进程程序
- 19. Python开发--常用模块
- [LeetCode]155. Min Stack
- Android5.0及以上实现隐藏标题栏及全屏
- JavaScript——Tab切换
- LeetCode Min Stack
- 使用gdb调试多进程多线程程序
- OJ系统之题目列表界面
- MySQL入门--显示指定数据表的字段结构、插入指定字段的值(记录)、查看指定表中指定字段的所有记录
- 公钥密码学、数字签名与数字证书
- 堆 续2
- ionic第三方QQ,微博,微信的登录,分享功能的实现和注意事项
- [ssh]关于ssh中查询并分页方法的记录
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- Mac 升级python2.7 到 3.5