avatar
h*o
2
请问 这会是 什么 错?
func1 call func2, func2 中的printf("end of func2\n")打出来了。然后没执行
printf("after func2\n");却说程序FATAL: Received Segment Violation...dying:
func1(){
...
result = func2();
printf("after func2\n");
...
}
int func2(){
...
printf("end of func2\n");
return result;
}
这是 syslog打出的 错误 信息:
myProcess Parent: recv_fatal_signal on thread #1 pid 3377
myprocess[3371]: [ID 704344 local4.notice] Child process 3377 byebye: 0 0 1
myprocess[3371]: [ID 123356 local4.notice] myProcess P
avatar
f*y
3
错误在别的地方,你可以吧func2里的 \n去掉试一下
avatar
h*o
4
Thanks, I have found the reason.
the reason is in func2(),I declared a char* A and xmalloc it, and then I
strlcpy(A, B, sizeof(B)) in which sizeof(B) is larger than sizeof(A), then
when func2 returns, it causes to fatal.
Thanks for your answer.

【在 f******y 的大作中提到】
: 错误在别的地方,你可以吧func2里的 \n去掉试一下
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。