libcurl을 사용하여 원격 Http 서버에 파일을 청크 업로드하려고합니다. 아래 함수를 호출하여 READDATA 및 READFUNCTION을 설정하여 콜백 매개 변수를 등록합니다. 그러나 curl_easy_perform() 중에 libcurl이 여전히 충돌합니다. 아무도 그것에 도움을 줄 수 있습니까? 내가 전화 무엇 감사파일을 업로드하기 위해 READDATA 및 READFUNCTION을 설정하면 libcurl이 fwrite()에서 충돌합니다.
:
ReadCallbackStatic(void *contents, size_t size, size_t nmemb, void *userp);
curl_easy_setopt(curl_data.m_lib_curl_handle_ptr, CURLOPT_READFUNCTION, ReadCallbackStatic);
curl_easy_setopt(curl_data.m_lib_curl_handle_ptr, CURLOPT_READDATA, userdata);
스택 추적 : 나는 너무 CURLOPT_WRITEDATA 및 CURLOPT_WRITEFUNCTION을 설정해야처럼
(gdb) bt
#0 0x00007ffff604741a in fwrite() from /lib64/libc.so.6
#1 0x00007fffec8713f3 in Curl_client_write() from libcurl.so
#2 0x00007fffec8851b7 in Curl_readwrite() from libcurl.so
#3 0x00007fffec885ea7 in ??() from libcurl.so
#4 0x00007fffec886a28 in Curl_perform() from libcurl.so
#5 0x00007fffec8873c6 in curl_easy_perform() from libcurl.so
[MCVE] (http://stackoverflow.com/help/mcve)와 실제 스택 추적을 제공하십시오. – paddy
[Jay는 이미 curl 버그에 제기 된 문제에 대해 (https://github.com/curl/curl/issues/886#issuecomment-227044315) 적절히 답변했습니다. 두 곳에서 코드를 보지 못했지만. 이것은 사용자 오류 일 가능성이 큽니다. –
@paddy 스택 추적을 추가했습니다. 감사. –