memcache_get()给出分段错误

时间:2011-11-16 09:11:01

标签: memcached libmemcache

我有一个简单的memcache代码:::::

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_by_key()中的

0 0x00007ffff79c434c

来自/usr/lib/libmemcached.so.5的memcached_get()中的

1 0x00007ffff79c454f

有没有人遇到类似的问题,或对解决方案有任何想法?

1 个答案:

答案 0 :(得分: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
}