今天把自己参考csapp写的web服务器调通了,学到了很多东西。记录下来。
1.gdb调试工具
首先编译链接的时候得加 -g
g++ -g -o myweb myweb.cpp web.cpp
然后 gdb -p myweb
如果程序有输入参数 set args 输入参数
break建立断点
r–run执行 c–continue继续
s–step单步执行 n–next 单步但跳过函数
print 变量名 打印变量的值
同时,有时候程序出错会出现段溢出,这时候会抛出core文件,但是你能看到这个文件的前提是你在系统中设置了文件可以存在的大小。
ulimits -a 查看文件大小
ulimits -c unlimits 设置core文件大小无限(这条命令好像是这么写,可能有拼写错误)
有了core就可以调试了
gdb myweb core
然后where 看看究竟哪里错了
天呐 今天终于把gdb搞明白了 调试的时候可是帮了大忙!!!
2.makefile文件的编写
目标:所需要的文件
命令
myweb:myweb.cpp web.cpp web.h
g++ -g -o myweb myweb.cpp web.cpp
同时用 -I 可以定位.h文件的路径 夹在myweb和myweb.cpp中间
终于把最基础的web服务器调通了,对TCP/HTTP有了更直观的了解。工作还要继续,还要支持高并发,道阻且长呦 一步一步来。