怎么在Linux终端下调试C语言技巧
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这期内容当中小编将会给大家带来有关怎么在Linux终端下调试C语言技巧,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、strace这个功能很强大,能够看到很多底层
千家信息网最后更新 2025年02月01日怎么在Linux终端下调试C语言技巧
这期内容当中小编将会给大家带来有关怎么在Linux终端下调试C语言技巧,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1、strace
这个功能很强大,能够看到很多底层调用,便于分析问题:
举例:
[wangbin@localhost pas]$ strace -p 10472Process 10472 attached - interrupt to quitfutex(0x4113be8, FUTEX_WAIT, 10482, NULLProcess 10472 detached
我们可以看出这个进程已经死锁了,所以strace命令非常有用,特别是网络程序。
2、tcpdump
在分析fastcgi程序时,我们利用这个命令来查看tcp包的情况:
[root@localhost ~]# tcpdump -i lo -s 1500 port 9000tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on lo, link-type EN10MB (Ethernet), capture size 1500 bytes15:23:16.901004 IP localhost.localdomain.50867 > localhost.localdomain.9000: S 3482201970:3482201970(0) win 3276715:23:16.901025 IP localhost.localdomain.9000 > localhost.localdomain.50867: S 3473410857:3473410857(0) ack 3482201971 win 32767 15:23:16.901039 IP localhost.localdomain.50867 > localhost.localdomain.9000: . ack 1 win 256 15:23:16.901150 IP localhost.localdomain.50867 > localhost.localdomain.9000: P 1:1377(1376) ack 1 win 256 15:23:16.901170 IP localhost.localdomain.9000 > localhost.localdomain.50867: . ack 1377 win 256 15:23:16.901214 IP localhost.localdomain.9000 > localhost.localdomain.50867: P 1:97(96) ack 1377 win 256 15:23:16.901222 IP localhost.localdomain.50867 > localhost.localdomain.9000: . ack 97 win 256 15:23:16.901236 IP localhost.localdomain.9000 > localhost.localdomain.50867: F 97:97(0) ack 1377 win 256 15:23:16.901822 IP localhost.localdomain.50867 > localhost.localdomain.9000: F 1377:1377(0) ack 98 win 256 15:23:16.901836 IP localhost.localdomain.9000 > localhost.localdomain.50867: . ack 1378 win 256
我们通过这个命令可以发现是9000端口主动关闭了连接,这说明在另一端保持连接是没有效果的。
3、core文件
这个作用就是像取款机旁边的摄像机,能够记录下程序崩溃时的场景,对于分析高难度问题非常有用,不过用这个,一定要权限配置正确了。
4、gdb
gdb -p 进程号,可以去调试正在执行中的进程,功能也很强大。也就是说,只要你上线的程序编译的时候加上了-g,并去掉了优化参数,你就可以在上线的时候调试某一个进程,比如nginx进程。
5、log文件
这是最常用的方法,也是最土的方法,不过对于调试还是非常有用的。
上述就是小编为大家分享的怎么在Linux终端下调试C语言技巧了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
进程
分析
程序
命令
有用
技巧
终端
语言
强大
内容
功能
就是
文件
方法
时候
问题
主动
一端
专业
中小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
济南鲁龙网络技术有限公司
审计局 网络安全建设
建行软件开发笔试都考些什么
ovid数据库浏览方法
上海软件开发攻略
黑鸟网络安全公司
服务器主板自动化装配线厂家价格
肿瘤组织蛋白表达差异数据库
aide手机软件开发
什么叫与服务器连接丢失
闵行区工商软件开发管理系统
网页访问服务器
宁夏金诚杰软件开发
青少年上网需要注意哪些网络安全
黑板报 网络安全
b75m能上服务器内存条吗
宁夏大学知网数据库
二年级视频软件开发
软件开发的平台怎么搭建
物联网学习软件开发吗
虎克无法连接到指定的服务器
在西安软件开发经常加班吗
乌镇互联网科技展馆
视频聊天会保存在服务器
东莞市袋鼠直聘网络技术公司
杭州地铁外包软件开发
天缘网络技术有限公司
故障数据库
杭州恩杰西网络技术有限公司
未成年人网络安全画