2018年8月13日

摘要: Linux应用程序内存布局 1.从低地址到高地址分别为:代码段、数据段、BSS段、堆、栈(BSS,Block Started by Symbol,又名:未初始化数据段) 2.堆向高内存地址生长 3.栈向低内存地址生长 Linux每个应用程序的起始地址都是0X8048000,是个虚拟地址 数据存放 1 阅读全文

posted @ 2018-08-13 17:22 Apelike 阅读(130) 评论(0) 推荐(0) 编辑

摘要: Core dump 主要用来对付segment fault(段错误) 段错误原因通常有: 数组访问越界 访问空指针 栈溢出 修改只读内存 core dump 打开:ulimit -c unlimited 关闭:ulimit -c 0 用法:gdb 程序名 core文件名 例如:gdb ./test 阅读全文

posted @ 2018-08-13 17:12 Apelike 阅读(100) 评论(0) 推荐(0) 编辑

摘要: GDB使用流程 1.编译生成可执行文件: gcc -g tst.c -o tst2.启动GDB gdb tst3. 在main 函数处设置断点 break main4. 运行程序 run GDB 命令 list(l) 查看程序 break(b) 函数名 在某函数入口处添加断点 break(b)行号 阅读全文

posted @ 2018-08-13 17:10 Apelike 阅读(112) 评论(0) 推荐(0) 编辑