【发布时间】:2016-03-23 08:07:29
【问题描述】:
在调试我的 c 程序时,我收到此错误消息
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff77f6700 (LWP 14945)]
__strcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:532
532 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Aucun fichier ou dossier de ce type.
我认为发布我的代码是“无用的”,因为它没有精确地显示错误行。
但我知道我认为它来自这个函数:
void add_user(tlistU *lu, user * u,tuser *new)
{
tuser *nouveau = malloc(sizeof(tuser));
u =malloc(sizeof(*u));
if (lu == NULL || nouveau == NULL)
{
exit(EXIT_FAILURE);
}
strcpy(nouveau->users->nickname,u->nickname);
nouveau->next=lu->first;
lu->first=nouveau;
}
(昵称是一个 9 字符的字符串)
【问题讨论】:
-
nouveau->users未分配且未设置。user *u和 malloc(siezof(*u)) 不一致。
标签: c multithreading segmentation-fault