linux程序调试常用命令

1 调用跟踪

    跟踪系统调用 strace ls –l

    跟踪库调用  ltrace

2 lsof(list open file)

    查看程序命令打开了哪些文件  lsof –p PID; lsof –c CMD

    查看某个用户打开的文件  lsof –u root

    查看某个文件被哪个程序访问 lsof filename

3 proc文件系统

    虚拟文件系统,可以使用cat,more,less查看

    例如:cat /proc/cpuinfo;    cat /proc/meminfo

4 网络调试

    ping

    tcpdump   tcpdump –i eth0 –s0 –SvX host 192.168.1.12 and port 1234 –w test.pcap

                    tcpdump -i eth0 -s0 -nn udp port 6561 #指定协议类型以及端口

                    tcpdump -i em1 -s0 -nn udp and src host 60.173.13.115 and src port 6561 #指定协议类型以及ip和端口

  lsof -i:port  #查看指定端口对应的进程

    ethtool

    traceroute

    netstat –anp | grep port

5 二进制文件调试

    file  filename  文件类型

    ldd  显示依赖动态库,对应的库路径配置文件 /etc/ld.so.conf,重新加载命令 ldconfig

    nm  列出目标文件中符号信息

    objdump  列出目标文件信息,反汇编  objdump –d hello | more

    readelf  显示ELF文件信息,查看某个库是否定义了某个函数 readelf –s hello.so –W 60 | grep symbol_name

    addr2line  在包含调试信息下,将地址转换成源程序名字

6 系统性能查看

    top

    vmstat

7 .o文件查看

    find /home/libs –iname “*.*o” –exec sh –c “ ls {}; nm –A {} | grep –iH “match_conten””\;

8 特殊删除

    bash下,可以使用扩展的globbing,启动方法:shopt –s extglob,删除除fie1和file2之外的所有文件  rm !(file1|file2)

9 保存文件中指定位置开始指定字节数

    dd if=input_file of=output_file bs=1 skip=200 count=100 #保存input_file中从200字节开始后的100字节数据到output_file文件中

10 查看指定进程的线程数目

    pstree -p `ps -e | grep procName | awk '{print $1}'` | wc -l

11 查看网卡流量信息

    sar -n DEV 1 100

  查看指定端口流量信息  iftop -nP

  nload

12 valgrind

    valgrind --log-file=./valgrind_report.log --leak-check=full  --show-reachable=no --track-origins=yes  --trace-children=yes ./run_exe

13 dmesg

    dmesg -T

14 cat /proc/pid/smaps

15 多线程VIRT过高

16 添加用户

    useradd -u 33 -g root -c www-data -d /var/www -s /usr/sbin/nologin www-data

posted on 2015-08-18 06:53  octocat 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zhouLee/p/4738246.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值