
内存管理
水杯爱喝水
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
double free or corruption (out): 0x00007fe160002b70 ***
一、此类问题的原因 根本原因就是对同一块内存,进行了多次释放(free),这个通过字面意思就可以看出来。发生此类问题的原因可能更多的是在A函数中申请的内存,在其他调用函数中进行了使用,这个过程中就容易出现问题。 二、遇到的问题 curlftpfs程序,遇到带有“#”的目录就会出现“double free or corruption (out): 0x00007fe160002b70 ***”,挂载...原创 2019-03-05 16:36:09 · 2599 阅读 · 1 评论 -
程序访问空指针
如何判断发生了空指针的异常 如下图: 1)明显提示第三层栈访问了空指针 2)或者访问了地址0x0附近的地址的都可以怀疑程序可能访问了空指针。 原因:如果访问结构体指针的成员s->b,b的偏移量是4,若b成员占用4个字节, 则s就是NULL,b的地址被计算成0x4 程序中预防出现空指针 在使用指针时,要判断一下指针是否为空 ...原创 2019-03-07 18:15:24 · 1287 阅读 · 0 评论 -
栈被破坏
一、栈破坏案例 二、防止栈被破坏 在编译时加上下面的编译选项,可以防止栈被破坏 -fstack-protector -fstack-protector-all 如果加上上述两个选项后,仍然存在栈被破坏的选项: 栈被破坏,肯定是栈中的一个字符串在赋值或者copy时,越界了,所以栈被破坏。 ...原创 2019-03-08 12:05:40 · 774 阅读 · 0 评论 -
高级IO--readv与writev
原 网络编程(18)—— 使用readv和writev函数批量的进行数据的发送和读取 2016年10月14日 14:18:24 HymanLiuTS 阅读数:1786更多 <div class="tags-b...转载 2019-05-13 08:41:38 · 254 阅读 · 0 评论