ssdut_209 2016-03-14 06:27 采纳率: 50%
浏览 8388
已采纳

linux 下 segmentation fault (core dumped) 错误出在哪里

#include
#include
int sum;
void * runner(void * param);

int main(int argc,char * argv[])
{
pthread_t tid;
pthread_attr_t attr;
if(argc<2)
{
printf("the number of paraments shuold more than 1");
return -1;
}
if(atoi(argv[1]<0))
{
printf("the parament should be more than 0");
return -1;
}
pthread_attr_init(&attr);
pthread_create(&tid,&attr,runner,argv[1]);
pthread_attr_destroy(&attr);
pthread_join(tid,NULL);
printf("sum=%d",sum);
}

void * runner(void * param)
{
int i,upper=atoi(param);
sum=0;
for(i=0;i<=upper;i++)
sum+=i;
pthread_exit(0);
}
大神求解答
在终端./main.c 5 输入后就提示
segmentation fault (core dumped)

  • 写回答

4条回答

  • oyljerry 2016-03-14 08:26
    关注

    直接gdb断点跟踪一下,看具体异常的代码位置,多数是指针越界等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿