测试文件:https://adworld.xctf.org.cn/media/task/attachments/5d4117b968684b9483d0d4464e0a6fea 这道题要使用到gdb文件调试,gdb调试相关知识:https://www.cnblogs.com/Mayfly-nymph ...
分类:
其他好文 时间:
2019-08-24 09:15:07
阅读次数:
187
1、开启debuginfo repo 在/etc/yum.repos.d/entOS Debuginfo.repo文件中修改enabled=1 启用repos 2、更新yum yum makecache fast 3、安装yum utils debuginfo在yum utils包里面 yum in ...
分类:
数据库 时间:
2019-08-09 11:47:38
阅读次数:
164
一、环境变量 通过extern char** environ打印环境变量信息 二、fork函数 1.创建单个子进程。 2.循环创建子进程 三、 gdb调试 四、exec函数族 1.execlp 2.execl 3.execv 通过dup2将进程信息写入文件 五、孤儿进程 六、僵尸进程 七、wait函 ...
分类:
系统相关 时间:
2019-07-26 19:02:00
阅读次数:
154
core dump文件 core dump核心转储文件,一些信号的处理方式,会生成一个elf格式的文件,用来分析进程崩溃情况。 总结一下,core dump核心转储文件就是将所有的vma都映射成一个elf的段,然后生成一个可执行文件。注意,核心转储文件并不会包含代码段,因此使用gdb调试核心转储文件 ...
分类:
其他好文 时间:
2019-07-21 13:22:38
阅读次数:
150
多进程版本相对也很简单,父进程负责接收和转换套接字,接收后Fork出子进程去处理页面请求和返回所需求的页面。 首先是父进程: 父进程Accept后不对请求进行处理,而是直接关闭所连接的套接字 这是因为for后,父子进程间的文件描述符只是拷贝,他们都指向同一个套接字,对父进程来说,这个主动套接字是多余 ...
分类:
系统相关 时间:
2019-07-06 22:07:13
阅读次数:
170
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。 set print address set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如: (gdb) f #0 set_quotes (lq=0 ...
分类:
数据库 时间:
2019-07-05 15:34:53
阅读次数:
164
结论:是一个指向hmap结构体类型的指针。 首先我们来看一段代码: 输出是true,m是一个指针,fn内部申请的map[int][int]不影响外部m。 所有m是一个指针,那具体m的结构是什么呢?可以通过gdb调试: 所以一切明了,就是一个指针。 ...
分类:
其他好文 时间:
2019-06-23 01:20:14
阅读次数:
110
C语言问题观: 一、环境搭建问题:linux,(可以是w10下linux子系统);vim(notepad++),gcc编译器,gdb调试器,make自动编译工具,ddd分析工具和valgrind分析工具 二、输入输出问题:输出函数和输入函数 三、条件选择问题:if……else或switch……cas ...
分类:
编程语言 时间:
2019-06-21 18:30:30
阅读次数:
132
一、整体大纲 二、gdb调试 1. 启动gdb start -- 只执行一步 n -- next s -- step(单步) -- 可以进入到函数体内部 c - continue -- 直接停在断点的位置 2. 查看代码: l -- list l 10(函数名) l filename:行号(函数名) ...
分类:
数据库 时间:
2019-05-14 12:51:37
阅读次数:
205
以boost thread为例: 使用gdb进行编译:g++ -std=c++11 -g -Wall -I/usr/local/boost/include testThread.cpp -L/usr/local/boost/lib -lboost_system -lboost_thread -o t ...
分类:
数据库 时间:
2019-05-05 17:56:04
阅读次数:
163