最近在玩goahead,嵌入式开源web server,代码中有一cgitest.c的cgi例子代码,不知道如何编译,仿goahead编译(在标准FC8上)
cc -g -Wall -DWEBS -DUEMF -DOS="LINUX" -DLINUX -DUSER_MANAGEMENT_SUPPORT -DDIGEST_ACCESS_SUPPORT -I../.. -c cgitest.c -o cgitest.o
cc -o cgitest.cgi cgitest.o
编译完成之后,拷贝cgitest.cgi到ws031202/web/cgi-bin,跑起./webs,用IE连接http://192.168.13.198/cgi-bin/cgitest.cgi,服务器端出现Segmentation fault,
gdb调试信息如下:
(gdb) where
#0 0x0059d12b in strlen () from /lib/libc.so.6
#1 0x0804a391 in bstrdup (s=0xffffffff
) at ../balloc.c:461#2 0x080497af in websGetCgiCommName () at main.c:328
#3 0x0804aa07 in websCgiHandler (wp=0x9798c48, urlPrefix=0x9796bd8 "/cgi-bin", webDir=0x9796bf0 "", arg=0,
url=0x97994d0 "/cgi-bin/test.cgi", path=0x9799510 "/cgi-bin/test.cgi", query&#