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

全部博文(119)

文章存档

2018年(2)

2017年(4)

2016年(4)

2015年(43)

2014年(1)

2013年(12)

2012年(16)

2011年(36)

2010年(1)

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

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

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

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

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

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

发布时间:2015-04-29 15:36:33

Problem 1 : Is it a loop ? (判断链表是否有环?)Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) time and O(1) space wheren is the length of the l.........【阅读全文】

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

发布时间:2015-04-16 13:42:23

 下面的测试程序我们都省略错误检查如同进程可以调用atexit函数安排在他退出时需要调用的函数一样,进程也可以安排在他退出时调用的函数。这些清理函数记录在栈中,所以他们执行的顺序和注册的顺序是相反的。#inclduevoid pthread_cleanup_push(void (*rtn)(void *),void *arg);void pthread_clean.........【阅读全文】

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

发布时间:2015-03-31 15:34:58

先来看看什么是“惊群”?简单说来,多线程/多进程(linux下线程进程也没多大区别)等待同一个socket事件,当这个事件发生时,这些线程/进程被同时唤醒,就是惊群。可以想见,效率很低下,许多进程被内核重新调度唤醒,同时去响应这一个事件,当然只有一个进程能处理事件成功,其他的进程在处理该事件失败后重新休眠(也.........【阅读全文】

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

登录 注册