软件调试
文章平均质量分 82
ygtff
这是起点,也是转折点。
展开
-
比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更转载 2014-08-14 09:31:08 · 618 阅读 · 0 评论 -
系统级性能分析工具 — Perf
从2.6.31内核开始,Linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。 perf Performance analysis tools for linux.Performance counters for Linux are a new kernel-based subsystem that provide a framework for al转载 2017-08-30 15:42:32 · 4769 阅读 · 0 评论 -
gprof原理与缺陷
gprof是一个程序性能分析工具,通过监测程序运行,返回函数动态调用关系、函数调用次数以及每个函数的执行时间,从而有利于程序员发现性能瓶颈,对程序进行优化。对gprof的使用介绍,网上已经很多,例如百度百科上的介绍(wikipedia上没有专门介绍gprof的页面),在此不多赘言。这两天看了gprof作者当年发表的介绍其实现的论文,简单说一下其原理和缺陷。在gprof出现之前,Unix转载 2017-08-30 16:44:13 · 2473 阅读 · 0 评论 -
使用Gprof
gprof是一个GNU profiler工具,可以采集程序中每个函数的调用次数、每个函数消耗的CPU时间、以及显示调用关系图包括每个函数调用花费了多少时间。要查看gprof的官方详细信息请点击这里,也可以参看这里。一、原理 在编译和链接程序的时候,使用-pg选项,这样gcc/g++就会在应用程序的每个函数中都加入一个名为mcount/_mcount/__mcount的函数,即用-pg编转载 2017-08-30 16:47:40 · 670 阅读 · 0 评论 -
strace 跟踪进程中的系统调用
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。参数-c 统计每一系统调用的所执行的时间,次数和出错的次原创 2017-08-30 17:13:42 · 1039 阅读 · 0 评论