![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
问题定位
HW_Coder0501
I'm QXK, from ZJUT.
展开
-
gdb高级功能commands用法
执行以上设置后,程序每运行到xxx位置时,会触发commands指令,从而自动执行bt、c、end三个动作,之后程序会自动往下走,不影响其运行。gdb的commands命令可以让程序在每次到达断点时自动执行一组命令,以帮助程序员更好观察程序运行过程,定位程序运行问题。在commands中可加入任意gdb指令,以帮助程序员获取更多程序运行信息,灵活使用该功能可提高问题定位效率。原创 2023-05-30 18:44:26 · 533 阅读 · 0 评论 -
内存泄漏问题定位
VIRT代表进程使用的虚拟内存大小,RES代表进程使用的物理内存大小,SHR代表进程使用的共享内存大小,%MEM代表进程使用的物理内存百分比。如果内存使用率偏高,应关注文件系统内存占用、共享内存占用及各个业务进程内存占用,可用top查看各个进程CPU使用情况。malloc申请内存,并memset后,只是VIRT增长,RES不增长,使用后RES才增长。VIRT:malloc申请,不一定马上使用。RES:内存使用的时候才增长。原创 2023-03-25 20:09:19 · 396 阅读 · 0 评论 -
static函数被优化问题
定义为static的函数在编译时可能会被优化,在so中可以用nm -D命令查看该函数是否被优化。若能在so中找到该函数,则未被优化,反之则被优化。原创 2023-02-24 20:14:26 · 311 阅读 · 0 评论 -
addr2line 定位异常栈问题
addr2line命令来自于英文词组”address to line“的缩写,其功能是将函数地址解析成文件名或行号。给出一个可执行文件中的地址或一个可重定位对象中的偏移部分的地址,使用调试信息来找出与之相关的文件名和行号。首先查看异常栈中具体是哪个so出现的异常,并确定偏移地址。0x44a44为异常栈信息中的偏移地址。原创 2023-02-24 20:08:35 · 646 阅读 · 0 评论 -
Linux corefile文件定位问题
Linux程序运行遇到异常问题可以通过corefile文件来定位,文件一般位于系统后台/xx/corefile目录,名称为core-xx-xxxx-31480-slot0-cpu0-20210607222740.gz或.bak之类。取出corefile文件,解压,gunzip core-xx.gz,将解压出的corefile文件放到系统后台,用gdb工具进行定位, gdb /usr/local/bin/secmng core-xxx。原创 2023-02-07 12:17:31 · 460 阅读 · 0 评论