Centos5上libcurl的問題

今天在一臺Centos5機器上測試程序,發現curl一直鏈接失敗返回3,查了錯誤碼說是設置的URL無效。
程序在其餘機器上跑的正常,去正常的機器上看了下,都是Centos6的系統。在兩個系統上編譯同一個程序,ldd看了下依賴的curl庫,6下是7.19,5下是7.15,前一個09年,後一個06年的,汗orz......
而後找到設置URL的代碼,用一個局部變量調用curl_easy_setopt設置URL,懷疑設置有問題,打印局部變量看確實沒錯且命令行請求這個URL也是能夠的。繼續查,調用curl_easy_getinfo把設置的URL內容獲取出來看,發現獲取不到,檢查了curl_easy_setopt返回值也是成功的,懷疑用的局部變量被curl直接使用了,函數結束釋放了局部變量致使URL無效。而後將原來的局部變量改爲靜態變量,就能夠打印最近有效的URL,程序也正常了,gdb調了一下,獲取的有效URL的地址和設置用的靜態變量地址一致,orz。06年的源代碼已經找不到了,姑且改爲靜態變量來兼容Centos5的庫。
調試過程還得感謝同事的幫助,我一我的估計早換個系統作測試萬事大吉了,也就找不到真正的緣由了~
相關文章
相關標籤/搜索