- 博客(4)
- 收藏
- 关注
原创 《coredump问题原理探究》Linux x86版5.5节C风格数据结构内存布局之基本数据类型构成的结构体
在C语言里,结构体是不同类型数据结构的集合。由于结构体比较复杂,分为几种情况来讨论: 1.成员全是由基本数据类型构成 2.成员有基本数据类型,也有其它结构体构成,构成成员的结构体是1,2两种情况。 3.结构体构成的数组 这一节先讨论第一种情况.要了解这种类型结构体的内存布局,首先要知道成员在内存里是如何排序,及各个成员在内存占的大小。先看一个例子 #include <...
2013-03-31 20:41:13 1976
原创 《coredump问题原理探究》Linux x86版5.4节C风格数据结构内存布局之数组coredump例子
试定位一个coredump的例子来验证一下。 堆栈: (gdb) bt #0 0x43756109 in __memset_sse2 () from /lib/libc.so.6 #1 0x08048643 in main () 更多内容请关注微信公众号"debugeeker",链接https://mp.weixin.qq.com/s/qpHPqTb79dvTsi_V4...
2013-03-21 23:30:21 3752
原创 《coredump问题原理探究》Linux x86版5.3节C风格数据结构内存布局之数组
在C语言里,数组就是相同类型变量的集合体。由这个定义,可大致得知数组的特征: 1.有首元素。而首元素的地址和数组地址一样,即有基地址 2.每个元素的大小是一样的。那么每个元素相对基地址的偏移值应该是元素大小和索引值的乘积。 也就是说,基地址和与索引值成比例的偏移值有可能是数组的特征。 还是按照上面的方式来逐个对各类型的数组进行探究。 先看一下char型的数组 #include...
2013-03-14 21:24:40 2134 1
原创 《coredump问题原理探究》Linux x86版5.2节C风格数据结构内存布局之基本数据类型
在C语言中,基本的数据类型无非是char, short, int,long, float, double及相应的指针。那么它们在内存里是怎样存放的,在汇编指令里显示怎么样的特征呢?在这里就分别来探究一下char, short, int, long, float, double的特征。 先用一个例子来看一下char的特征: #include <stdio.h> int m...
2013-03-11 20:44:24 2530 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人