自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (8)
  • 收藏
  • 关注

原创 heapdump定位内存泄露

heaxiazLinux下分析一个core内存泄露的过程(3s大法)对于dump很大的原因分析准备环境找到对应dms.core的jenkins上打包出来的版本程序解压到和core一起的路径/log/core/core/DMS准备工具把heapdump工具也拷贝到/log/core/core/DMS下面Gdb调试gdb -c DMS_12409-1398407860-6.core DMSbt可以清晰的看到是new出异常,而且core这么大,基本可...

2020-09-10 14:24:06 2191

转载 windbg定位死锁问题

操作系统对死锁的描述如下:所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。3.资源分配不当。而产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内独占资源。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:进程已获得资源,在末使用完之前,不...

2020-09-10 14:18:52 769

原创 后台监控脚本

执行./Monitor.sh MTS eth0命令即可,会输出监控信息到excel中,下面是监控脚本实现#!/bin/bash function getNet(){ average=1 band_alarm=0 ...

2020-09-10 10:25:55 330

原创 windbg常见调试命令

一、环境配置C:\MyLocalSymbols;SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols; http://10.33.40.55/symbols上面的MyLocalSymbols目录放了系统符号表,网络地址是在本地找不到系统符号表的情况,从网络下载,最后面的是应用程序符号表第一次使用的时候,会从网络...

2019-09-07 11:47:38 521

原创 常见GDB调试命令

Pmap 打印命令格式1、Std::map<int,int> test_mapPmap test_map in tint2、class *test_class;Std::map<int,*test_clss> test_mapPmap test_map int 即可,Pmap test_map int *test_class打印好像会有问题需要安...

2019-09-07 11:46:54 1038

转载 重复释放导致崩溃

我们team有一套C++写的server程序,最近发现它在每次退出的时候会崩溃,core dump文件的栈如下:(gdb) bt#0 0x0000003ea4e32925 in raise () from /lib64/libc.so.6#1 0x0000003ea4e34105 in abort () from /lib64/libc.so.6#2 0x0000003ea4...

2019-08-13 14:13:41 1979

转载 valgrind工具使用

1. 关于编译选项:针对memcheck工具,需要注意以下几点:a. 强烈推荐被调试的目标程序在编译时加入-g参数,这样再运行valgrind memcheck时,可以拿到更为丰富的调试信息,比如行号,调用栈等。b. 当使用-O0编译目标程序时,valgrind可以保证输出的所有警告、错误提示信息都是准确的,副作用是程序运行会非常慢。c. 当使用-O1编译目标程序时,valgrin...

2019-07-26 15:31:27 1093

转载 Address Sanitizer定位内存问题

Address Sanitizer(ASan)是一个快速的内存错误检测工具。这里说明它的用法。参考资料AddressSanitizerhttps://github.com/google/sanitizers/wiki/AddressSanitizer1. 简介Address Sanitizer(ASan)是一个快速的内存错误检测工具。它非常快,只拖慢程序两倍左右(比起Valgrin...

2019-07-23 16:53:40 6682

原创 windows下定位程序cpu使用过高

利用windbg排查CPU占用过高问题问题描述测试我们自己开发程序时,有时会发生CPU占用过高的问题。对于简单的程序,可能还容易排查是哪个线程占用了CPU。而对于类似流媒体,这样庞大的程序,排查难度较大。本篇案例会介绍一种排查此类问题的方法。排查方法排查CPU过高的问题,主要的排查点,就是找到CPU被是哪些线程占用了。确定哪个线程占用CPU过高.windbg的排查方法。第一步,...

2019-07-19 16:33:05 541

转载 gdb数据断点监控

开发中经常遇到某个变量明明已经赋值了,但是最后得到的结果却并非赋予的值。解决这样问题让人很头疼,原因我们可能都知道,可能是内存越界导致这部分值被覆盖掉了,但是什么时候被覆盖掉的呢?总不能在每个怀疑的地方打印这个值吧?这样效率很低,而且定位不一定准确。这个时候使用gdb调试中的watch就可以轻松搞定。顾名思义跟linux中的watch命令类似:实时的监视你需要查看的内容。比如下面程序:#i...

2019-07-11 16:15:02 1259

原创 通过shell脚本实现将top命令监控程序的输出信息和时间信息导入到文件中

#!/bin/bashwhile [ 1 ]do top_print=`top -n 1 -b|grep mgc` time=`date` space=" " print_str=$time$space$top_print echo $print_str >> ./date.txt ...

2019-07-10 19:53:36 3592

转载 windbg默认工作空间设置

一 简介:发现windbg的工作空间来保持窗口布局很方便和和谐,不在为各窗口的拖来拖去而纠结了,就做了几个默认调试环境的工作空间(主要关注窗口布局),现在拿出来分享下,喜欢的朋友下载附近,直接把里面的reg文件导入注册表就好了,当你以某个模式调试的时候会自动加载!一般只使用命令的大牛飘过~~~~二 效果图:突出Command:OD-Style:三 附件说明:Kernel.reg:当进行内核...

2019-07-10 15:27:58 453

原创 Pmap查看内存泄露

Pmap可以查看堆地址信息(程序中new/malloc出来的空间),然后gdb调试查看堆较大的内存块数据信息。(本次测试只是使用了这个功能,是否还有其他牛逼的功能不知道)编写测试代码#include <iostream>#include <string>#include <stdio.h>class mem_test{public...

2019-07-05 15:00:17 6662

转载 libevent数据结构介绍

转载https://blog.csdn.net/luotuo44/article/details/38374009Libevent源码中有一个queue.h文件,位于compat/sys目录下。该文件里面定义了5个数据结构,其中TAILQ_QUEUE是使得最广泛的。本文就说一下这个数据结构。队列结构体:TAILQ_QUEUE由下面两个结构体一起配合工作。#defin...

2019-03-02 15:37:24 192

转载 Tcp疑难杂症2

7. 疑症(7)TCP的延迟确认机制按照TCP协议,确认机制是累积的,也就是确认号X的确认指示的是所有X之前但不包括X的数据已经收到了。确认号(ACK)本身就是不含数据的分段,因此大量的确认号消耗了大量的带宽,虽然大多数情况下,ACK还是可以和数据一起捎带传输的,但是如果没有捎带传输,那么就只能单独回来一个ACK,如果这样的分段太多,网络的利用率就会下降。为缓解这个问题,RFC建议了一种延迟的...

2019-02-14 15:50:18 243

转载 UDP疑难杂症

转自:https://zhuanlan.zhihu.com/p/25622691引言作为文章”《从TCP三次握手说起—浅析TCP协议中的疑难杂症》”的姊妹篇,很早就计划写篇关于UDP的文章,尽管UDP协议远没TCP协议那么庞大、复杂,但是,要想将UDP描述清楚,用好UDP却要比TCP难不少,于是文章从下笔写,到最终写成,断断续续拖了好几个月。对应系列的上一篇:告知你不为人知的UDP...

2019-02-14 14:18:00 405

原创 网络可以ping通三次握手失败

从抓包分析,发现三次握手请求端发送了syn之后,接收端没有相应ack,而接收端对应的端口是listening状态,而且netstat看没有什么连接,系统可用连接肯定是足够的。猜测是时间戳问题导致,三次握手失败。分析如果将出现问题的机器的时间戳去掉会不会解决问题。针对带有时间戳的tcp syn包不响应的问题,查阅了相关资料得知产生问题的原因是出问题系统中的注册表中有Tcp1323opts这个...

2019-02-07 20:17:22 2642

原创 抓包不丢包udp系统层丢包

问题描述:两个不同的应用程序,分别运行在linux服务器A,linux服务器B,跨网段进行udp数据传输,中间经过一种网闸设备(一种安防行业的跨网段的网络设备),服务器A发送数据,服务器B接收数据,服务器B抓包有数据,但是层用程序没有收到。排查思路如下:1、对应用程序调用系统接口的recv处进行写文件操作,将接收到的数据写入到文件中,发现文件为空,初步认为应用层没有收到数据2、将接收数...

2019-02-07 20:05:37 1563

转载 tcp疑难杂症1

转自http://link.zhihu.com/?target=https%3A//www.qcloud.com/community/article/164816001481011785%3Futm_source%3DCommunity%26utm_medium%3Darticle164816001481011959%26utm_campaign%3DCommunity【引言】说到TCP协...

2017-10-12 15:42:48 1893

heapdump.rar

用于定位C++程序内存泄露问题,对于C++内存泄露问题定位较为复杂,同时多数内存泄露定位方式都是事前预判,对于事后的core、dump束手无策

2020-09-10

NIST.SP.800-90B.pdf

是随机数熵源的测试项目 测试方法以及测试例子; 其中还包括对最小熵元的计算;IID测试以及Non-IID测试

2020-02-24

RTMP文档资料.rar

RTMP协议栈介绍,包括消息、块信息详细图片介绍,以及疑点解释

2019-09-10

windbg_reg.rar

WinDbg的几个默认工作空间注册表,点击运行之后就会设置windbg的打开界面模式

2019-07-10

随机数相关标准SP800-90A

随机数的相关标准,随机数的产生原理,随机数的相关测试

2018-06-19

ffmpeg代码框架图

描绘ffmpeg的流程框架图,对着框架图可以快速学习ffmpeg源代码

2018-05-27

gperftools性能测试工具

google性能测试工具,能生成新完整的测试报告,简单实用,能找到性能优化点

2018-05-27

android 英文生词本设计

这是一个用eclipse平台开发的英文单词本android应用 该单词本可实现添加生词以及生词的查找等功能

2013-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除