C++ 一些调试中的小总结(三)

本文介绍了Linux下几个常用的调试工具,如strace用于跟踪系统调用,ltrace跟踪库函数调用,lsof查看进程打开的文件和端口,objdump分析目标文件,pstack展示进程线程堆栈,pmap显示内存映射,nm输出符号信息,pstree和ldd展示进程关系和依赖库,以及tcpdump用于网络数据包截取分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

strace命令

strace(strace - trace system calls and signals)能够跟踪进程使用的系统调用,并显示其内容。因此,当遇到调试不明的故障时,首先使用strace找出系统调用中出错的地方,通常能得到故障发生的线索,特别是与文件有关的错误、参数错误等。使用strace能够有效地发现系统调用失败有关的故障,但无法发现用户写出的程序或共享库中发生的错误。strace 命令是一种强大的工具,它能够显所示有由用户空间程序发出的系统调用。跟踪程序的每个系统调用strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。

strace 的每一行输出包括系统调用名称, 然后是参数和返回值.

-i 找到地址方便GDB详细调试。给strace添加 -i 选项即可显示程序在哪个地址进行了系统调用,可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟来了2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值