2011-11-16 3 views
0

나는 다음의 간단한 memcache에 코드 :::::memcache_get() 세그먼트 오류를 ​​제공

memcached_return * RC = NULL이있다;

char * sur = "SURBHI";

memcached_set (cacheClient, "SB", strlen ("SB"), sur, strlen (sur), (time_t) 0, (uint32_t) 0);

char * value1;

memcached_get (cacheClient, "SB", strlen ("SB"), 6, (uint32_t) 0, rc);

memcache_get을 호출하면 세그먼트 화 오류가 발생합니다. /usr/lib/libmemcached.so.5 에서 memcached_get()에 /usr/lib/libmemcached.so.5

1 0x00007ffff79c454f에서 memcached_get_by_key()에서

0 0x00007ffff79c434c : 디버거는 다음과 같은했다

누구나 비슷한 문제에 직면했거나 해결책에 대해 알고 있습니까?

답변

1

memcached_get의 마지막 세 매개 변수는 값, 길이 및 오류 코드와 같은 정보를 얻을 수있는 포인터 여야합니다. 아래 참조 :

char *key = "key"; 
size_t value_length; 
memcached_return_t ret; 
uint32_t flags; 
char *value = memcached_get(memc, key, strlen(key), &value_length, &flags, &ret); 

if (ret == MEMCACHED_SUCCESS) { 
    // ok 
} else { 
    // error 
}