自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学长Online

Android Linux 疑难问题分析及在线答疑

  • 博客(5)
  • 收藏
  • 关注

原创 linux下利用coredump技术追查进程崩溃原因

最近项目中出现了一个问题,服务器端程序会突然崩溃退出,我们采取了coredump技术以找到崩溃原因,即确定进程退出时正在执行的函数是哪个,其状态如何。        如果系统开启了coredump,准确的说如果当前的shell环境开启了coredump,当前shell环境下的程序崩溃退出时,会把当时进程的栈的内存状态写入core文件。使用gdb可以查看这个core文件中保存的栈的状态,gdb a

2017-03-29 12:43:28 9459

原创 GDB观察栈的内存布局

进程的内存布局如下图所示,栈是其中一块向下(低地址处)增长的内存。  栈的英文是stack,堆的英文是heap,很多人把stact翻译成堆栈,是不对的。               栈由栈帧组成。当一个函数调用时,栈会为这个函数分配一个栈帧,用于存储函数的实参、局部变量、返回值,以及函数内调用函数时,当前函数的一些寄存器的相关信息(比如用于指向下一条指令的程序计数器)。可以认为

2017-03-29 12:38:43 7420

原创 send函数可以直接发送结构体吗?

网络通信编程中,常常用结构体对待发送的数据进行封装。比如, struct msg { charcmd;  char len;  int extraData[0]; }; cmd表示命令,远端会根据cmd进行不同的处理;extraData是要发送的数组;len则表示extraData的占用的内存字节数。        在这种设计下,当需要发送数据时,把根据数据长度增加整个struct msg的

2017-03-28 17:40:36 1560 1

原创 由开启coredump引起的对shell的深入探究

问题:要开coredump功能,需要把core file size的软限制值由0改为一个大于0的值,一般取unlimited。     有两个方法可以改变这个值,一个是ulimit命令,执行ulimit –c unlimited,可把core file size值设置为unlimited,但这只对当前shell有效;另一个是修改/etc/security/limits.conf文件,在该文件中加

2017-03-28 15:11:37 1705

原创 何时让指针变量指向用malloc新分配的一块内存?

定义指针,有时是为了接收函数的返回值,如DIR* opendir (const char * path ),需要定义一个DIR指针接收返回值;有时是作为函数的实参传入,如int lstat(const char *path, struct stat *buf),需要定义一个struct stat指针传入。前者只需将NULL赋值给指针,DIR *dir = NULL,因为该函数返回的是一个已经被

2017-03-14 20:38:32 2344

空空如也

空空如也

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

TA关注的人

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