您的位置:时时app平台注册网站 > 时时app平台注册网站 > linux下debug工具【时时app平台注册网站】

linux下debug工具【时时app平台注册网站】

2019-11-21 02:47

valgrind

含有众多工具:

Memcheck。那是valgrind应用最不以为奇的工具,多个重量级的内存检查器,可以察觉开拓中山高校部分内部存储器不当选取状态,比方:使用未伊始化的内部存储器,使用已经放出了的内部存款和储蓄器,内部存款和储蓄器访问越界等。那也是本文将主要介绍的片段。

Callgrind。它首要用来检查程序中等高校函授数调用进度中冒出的标题。

Cachegrind。它首要用来检查程序中缓存使用现身的难点。

Helgrind。它至关心体贴要用来检查八十三十二线程程序中现身的竞争难点。

Massif。它重要用来检查程序中旅馆使用中现身的主题材料。

Extension。还可以core提供的功效,自个儿编写特定的内部存款和储蓄器调节和测量检验工具。

暗中认可使用的便是memcheck工具,在c 中指针的行使,一不留意就能够生出非常,就足以选用memcheck举行自己商量。个人日常用--track-origins=yes来恒定未早先化变量的职位。

core dump文件

在进程收到有些随机信号而休憩运营时,将那儿进度地址空间的内容以至关于进度意况的别的音讯写到core文件中,比方我们一贯的非官方访问内部存款和储蓄器发生segment fault错误,利用gdb能够查见到到底是哪儿产生了老大。有的时候候能够人工的向进程发送实信号kill -11 <pid>,查看那时系统运营的情事,举例八十七线程下程序乍然停住了,这时就恐怕发生了死锁,能够人工的发出功率信号,再来剖判core dump。

gdb

杰出的调治工具,成效很有力,注意当时编写翻译的时候应该接收-g选项,并用-Og举行优化。三十二线程下能够attach到进度来调度。

strace

是一个用来追踪系统调用的总结工具。它最简便的用处就是追踪二个前后相继整个生命周期里装有的系列调用,并把调用参数和重临值以文件的不二等秘书技出口。Strace还是可以追踪发给进度的信号。扶持attach正在运转的经过  strace -p <pid>, 当二十四线程情状下,须要跟踪某些线程的连串调用,能够先ps -efL|grep <Process Name> 查寻找该进度下的线程,然后调用starace –p <pid>进行分析。

log

输出log永恒是最简便易行高效的调整方式,能够高速稳定bug,通过安装日志品级决定日志的输出详略程度,结合一些文件分析工具awk/sed/grep能够长足在大方日志中找到错误音信。

tcpdump

抓包用的,在付出网络利用的时候很给力,结合awk/sed/grep能够长足搜索互连网数据包。

stackoverflow

其一网址是个程序设计领域的问答网址,基本蒙受的难点都能在那之中找到答案! 手艺气氛很强,从当中能学到相当多东西。

pstack

用来追踪进度栈,例如大家开采三个劳务一向处于work状态(如假死状态,有如死循环卡塔 尔(英语:State of Qatar),使用那些命令就能够自在定位难点所在;能够在风姿罗曼蒂克段时间内,多实行五遍pstack,若发现代码栈总是停在同二个职位,这个地点就需求入眼关心,很只怕便是出难点的地点;

在linux下支付难免会碰到bug,然而由于并未有图形IDE,招致debug也变得紧Baba,其实只要了解一些常用的debug工具,一些破绽百出就会飞快缓解,本文就介绍部分常用的工具用以调治将养:

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:linux下debug工具【时时app平台注册网站】

关键词: