免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2823 | 回复: 0
打印 上一主题 下一主题

[C++] libcurl将std::list里的URL写入文件时断错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-22 16:51 |只看该作者 |倒序浏览
这是我的测试用例 http://trac.lcuc.org.cn/public/t ... tSirURL.cpp?rev=165

我将 http://trac.lcuc.org.cn/public/t ... a/kt-content.rdf.u8 的URL注入到std::list中,然后让libcurl去抓取URL对应的网页内容,终端提示:
Crawling http://www.fairygodmother.com/
Caching ./cache/211374105227bb6b31ab1f80c9657ed4
段错误

我用gdb调试的内容如下:
Starting program: /home/sirtoozee/Projects/Sirch/trunk/libcrawler/test/test_sirurl
Crawling http://www.fairygodmother.com/
Caching ./cache/211374105227bb6b31ab1f80c9657ed4

Program received signal SIGSEGV, Segmentation fault.
0xb7d76ce7 in Curl_multi_canPipeline () from /usr/lib/libcurl.so.4
(gdb) bt
#0  0xb7d76ce7 in Curl_multi_canPipeline () from /usr/lib/libcurl.so.4
#1  0xb7d741a8 in Curl_perform () from /usr/lib/libcurl.so.4
#2  0xb7d74c8e in curl_easy_perform () from /usr/lib/libcurl.so.4
#3  0x0804b223 in SirCurl::_M_SirPerform ()
#4  0x0804b2d1 in SirCurl::SirGetCache ()
#5  0x080496e1 in main ()

可是我根本没有使用libcurl的multi相关API呀,我仅仅使用的是easy相关的API,请看 http://trac.lcuc.org.cn/public/t ... ler/src/SirCurl.cpp

可是,如果,不使用std::list构建URLs,仅仅用只有2个URLs的char** urls作简单测试用例调试时,就没有任何错误,请看
http://trac.lcuc.org.cn/public/t ... est/TestSirCurl.cpp

我的gentoo box的emerge --info,如下:
Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r3, 2.6.20-gentoo-r8 i686)
=================================================================
System uname: 2.6.20-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Timestamp of tree: Wed, 20 Feb 2008 23:32:01 +0000
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=i686 -pipe"
CHOST="i686-pc-linux-gnu"

请大家给出建议,万分感谢

[ 本帖最后由 涩兔子 于 2008-2-22 16:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP