
gdb
文章平均质量分 95
基于Linux下代码调试相关工具和源代码汇总
_bob_h
忠于内心,忠于渴望
展开
-
Linux程序内存越界定位分析总结
问题描述:最近在工作中遇到这样一个奇葩问题,程序里面需要使用到一个.so库,同一份源码用我的电脑编译出来的库放到程序使用出现各种异常问题,其他同事编译出来的没啥问题。刚开始以为是编的方式有问题,思来想去发现并不是,GNU也不可能无知到换个系统编的代码就不行了。后面定位才发现是库里面的一个数组踩到其他变量的地址了。问题1:定位踩内存的地方现象为触发某个业务条件,会导致程序其他业务运行不正常,异...原创 2020-01-30 14:23:54 · 5226 阅读 · 3 评论 -
Linux中mprotect()函数详解
测试源码//mmp.c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/mman.h>int *g_ps32Result;void add(int a, int b){ *g_ps32Result = a + b;}void s...原创 2020-01-29 21:08:12 · 20802 阅读 · 0 评论 -
Linux程序异常退出用backtrace定位分析
前言在调试代码时,难免会遇到段错误或各种异常导致进程退出,尤其处理大型工程代码时如果没有一个好的调试工具,定位问题很麻烦和费时间。下面简单介绍如何用backtrace定位程序退出位置。一:获取程序堆栈API介绍Linux c/c++开发环境下,可以使用以下函数API来获取进程调用的堆栈信息#include <execinfo.h>int backtrace(void **b...原创 2020-01-14 08:55:44 · 6818 阅读 · 0 评论