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
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文件中
linux程序调试常用命令的更多相关文章
- 调试多线程 & 查死锁的bug & gcore命令 & gdb对多线程的调试 & gcore & pstack & 调试常用命令
gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于 ...
- Linux查看系统配置常用命令
Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo ...
- gdb调试常用命令
gdb 调试常用命令 gcc -g mian.c -o main.out -o (定制生成的可执行文件的名称,缺省时为a.out) -g 使gdb可调试,在编译的时候,产生调试信息 gdb main. ...
- linux:终端常用命令 + vi命令修改文件及保存 方法
首先介绍一下Ubuntu下各个目录的一般作用: / 这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
- gdb的调试常用命令
一.gdb常用的命令 list l 常看源代码 break b 设置断点 b 10(行号) b ...
- Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日期的 ...
- linux vi编辑常用命令
linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下 vi编辑器中有三种状态模式 1. ...
- Linux 系统巡检常用命令
Linux系统巡检常用命令 # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...
随机推荐
- setValue:forUndefinedKey
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewControlle ...
- Shell 重定向 &>file,2>&1,1>&2 的区别
Shell上:0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与1>相同2>&1 意思是 把标准错误输出重定向到标准输出1>&2 意思是 ...
- java 子接口中定义与父接口相同的方法
今天碰到一个很有意思的问题,在java中如果子接口中定义了与父接口中已经有的方法会发生什么事情呢?比如: interface IRunnable extends Runnable{ void run( ...
- linux ps命令(转载)
来源:http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html Linux中的ps命令是Process Status的缩写.ps命令用来 ...
- Log4net中的RollingFileAppender z
Log4日志组件的应用确实简单实用,在比较了企业库和Log4的日志功能后,个人觉得Log4的功能更加强大点.补充说明下,我使用的企业库是2.0版本,Log4net是1.2.1版本的. 在Log4net ...
- 利用 Gitbook 生成文档中心站点
经过一个多月,Bugtags 最近上线了自己的文档站点:docs.bugtags.com,在这里你可以找到 Bugtags 集成.使用相关的绝大部分问题. 在这之前我们使用的是第三方提供的帮助中心产品 ...
- JqGrid单选
You have to do some more stuff: 1. Set multiboxonly to true and multiselect to true 2. Define the ev ...
- angularJs编写多指令的情况
本实例主要展示controller和link参数的使用.以及多个指令同时作用的情况. <!DOCTYPE html> <html ng-app="myModule" ...
- 彻底删除mysql服务
http://wenku.baidu.com/link?url=XEOFkNXElJV6FoBDOs7m7BlDUv9-ZuLbRbeVwbMa7AXa8ukZ6oIpiYYy3gNnITmP911M ...
- Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】
原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...