Chinaunix首页 | 论坛 | 博客
  • 博客访问: 492669
  • 博文数量: 133
  • 博客积分: 1235
  • 博客等级: 少尉
  • 技术积分: 1201
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-08 19:59
文章分类

全部博文(133)

文章存档

2023年(12)

2022年(3)

2018年(2)

2017年(4)

2016年(4)

2015年(42)

2014年(1)

2013年(12)

2012年(16)

2011年(36)

2010年(1)

发布时间:2015-04-29 16:18:01

zhangzhibiao02005 2014-09-20 16:41r10            0xa      10r11            0x202    514r12       &nbs.........【阅读全文】

阅读(3549) | 评论(0) | 转发(0)

发布时间:2015-04-29 16:14:43

当我们的程序core掉之后,如果能获取到core时的函数调用堆栈将非常有利于定位问题。在Windows下可以使用SEH机制;在Linux下通过gdb使用coredump文件即可。但有时候由于某些错误导致堆栈被破坏,发生拿不到调用堆栈的情况。一些基础预备知识本文不再详述,可以参考以下文章:函数调用栈的获取原理分析.........【阅读全文】

阅读(1966) | 评论(0) | 转发(0)

发布时间:2015-04-29 16:13:15

程序发生异常时,将函数的调用栈打印出来,可以大大提高定位效率。Linux中提供了三个函数用来获取调用栈:/* 获取函数调用栈 */int backtrace(void **buffer, int size);/* 将调用栈中的函数地址转化为函数名称 并返回一个字符串数组 */char **backtrace_symbols(void *const *buffer, int size);.........【阅读全文】

阅读(1989) | 评论(0) | 转发(0)

发布时间:2015-04-29 16:02:53

上一篇文章《在Linux程序中输出函数调用栈》,讲述了在Linux中如何利用backtrace获取调用栈,本篇文章主要介绍一下获取函数调用栈的原理,并给出相应的实现方式。要了解调用栈,首先需要了解函数的调用过程,下面用一段代码作为例子:#include int add(int a, int b) { int result = 0; result .........【阅读全文】

阅读(1273) | 评论(0) | 转发(0)

发布时间:2015-04-29 15:56:44

通用高效内存池的设计要点:1)快速分配;2)快速回收;3)空间利用率高。4)类型独立(最好)。不打算对比各种内存分配器的优劣,主要是介绍一最近实现的特定类型的通用高效C++内存池。特点:1)基于共享内存; -- 不会因为进程挂掉而丢失数据。2)快速分配; -- 在内存池接近满时,效率不.........【阅读全文】

阅读(1359) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册