- 博客(4)
- 收藏
- 关注
原创 ptrace 跟踪多线程程序
1.ptrace 原型说明 #include long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); 在使用PTRACE_TRACEME参数时,跟踪多线程程序需要使用PTRACE_SETOPTIONS来设置ptrace相关属性。 PTRACE_SETOPTIONS
2013-09-23 15:48:19 3447
转载 select 函数
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方
2013-09-17 09:24:25 395
转载 Linux上Core Dump文件的形成和分析
Core,又称之为Core Dump文件,是Unix/Linux操作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core进程的内存空间越大,此过程可能持续很长一段时间(例如当进程占用60G+以上内存时,完整Core文件需要15分钟才能完全写到磁盘上),这期间产生的流量损失,不可估量。凡事皆有两面性,OS在出Co
2013-05-08 17:02:52 501
转载 共享库的动态加载/卸载
A: Mark Mitchell,Jeffrey Oldham,Alex Samuel 2002-08-07 22:43这份文档来自>,解释如何动态加载共享库,使用这种技术你可以在程序中精确控制加载某个共享库。本文同时讨论了共享库中符号解析问题。dlopen( "libtest.so", RTLD_LAZY );这个调用将打开共享库libtest.so,第二形参通常都是RTLD
2013-05-08 15:13:40 1038
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人