
内存管理
小帆别吃糖
乐观开朗,积极向上,有追求有目标,热爱学习
展开
-
c/c++内存问题修复,内存使用剖析
c/c++能管理内存资源,能通过指针直接访问内存。c/c++的内存处理有很高的自由度、可控度和性能,但是也伴随着高昂的代价,即内存访问频繁的发生bug。最常见的内存访问bug有内存泄漏(memory leak),内存管理的错误使用(incorrect use of memory management),缓冲区溢出(buffer overrun)和读取未初始化的内存(reading unnitialized memory)。内存泄漏:在运行时分配,但当程序不再需要它时未释放的数据结构。如果内存泄漏频繁原创 2021-03-30 20:53:44 · 387 阅读 · 0 评论 -
堆分配的内存空间(malloc/new)是否连续
附:如果想更加了解堆和栈的区别,以及理解堆是什么,栈是什么等问题,可以先看博文 对堆栈中分析的比较好的文章进行的总结:http://blog.youkuaiyun.com/jin13277480598/article/details/54406980很多人都有这样的疑问:堆分配的内存空间到底是连续的还是不连续的,如malloc/new分配的内存空间是连续的吗?问题的引出:堆包含一个链表来维护已用和空闲的内存...转载 2018-07-11 14:25:20 · 12272 阅读 · 0 评论 -
remote gdb 操作流程
这里的 host 是运行 GDB 的计算机的主机名或 IP 地址,port 是 GDB 服务器要绑定的端口号,program 是要调试的程序的路径,arguments 是要传递给程序的命令行参数。其中,host是GDB客户端所在的机器的IP地址或主机名,port是GDB服务器监听的TCP端口,program是需要调试的程序名称,args是传递给程序的参数。其中,program是需要调试的程序名称,host是GDB服务器所在的机器的IP地址或主机名,port是GDB服务器监听的TCP端口。原创 2023-04-11 15:17:14 · 1250 阅读 · 1 评论 -
内存访问错误造成Segmentation fault (SIGSEGV)
linux下程序对SIGSEGV信号的默认处理方式是产生coredump并终止程序,可以参考man 7 signal Signal Value Action Comment ────────────────────────────────────────────────────────────────────── SIGHUP...原创 2019-06-11 18:01:53 · 12094 阅读 · 0 评论