1 Im'well

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 69w+

valgrind工具简单使用

1概述1.1 介绍Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:1.2 ...

2020-04-07 17:29:37

perf+FlameGraph火焰图性能分析

1、perf简单实用性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果。比如代码perf_flamegraph_test.c如下:#include <pthread.h>#include <stdio.h>void func_d(){...

2020-04-07 14:45:16

根据epc和ra定位linux kernel panic位置

一、背景项目中出现了一次插拔sc卡导致死机的问题,不幸的是没有保存下来coredump文件,只有简要的epc和ra信息。尝试复现问题,一直不能复现。所以尝试通过epc和ra去找到问题。二、分析过程log信息如下,目的是想定位到出错的源代码。[10:39:09]Activating card[10:39:10]ATR: 3F EF 07 7F F8 FF FF 07 03 FF FF 80...

2019-09-05 10:49:24

调试信息之网络打印

使用串口打印调试信息,通常设置为115200bps, N81,这种设置每秒打印10K+字节的调试信息。比如打印信息:[I:ERROR][T:19/09/04 16:15:19:649][F:ca.c][C:ca_update_sys_mode][L:1979] Get CA status failed,有100+字节,打印这条信息耗时约为10ms。目前应用,只打印关键信息,每次操作有120+条...

2019-09-05 10:03:06

信号量死锁排查手段

信号量死锁表现就是系统卡死了,但是在多线程程序中并不是那么容易跟踪。一种排查方法是#define MODULE_LOCK(sem_handle) \ do{ \ bool cret; \ module_pwarning("lock in\n"); \ cret=os_acquire...

2019-09-05 09:51:24
勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。