実行ファイルを実行したところ”Segmentation fault”が発生したのでコアファイルを出力するため、
”gcc -g -pthread threadAttr.c”を打ち”Segmentation fault (コアダンプ)”と出力されたが、コアファイルがなく、出力されない原因が知りたいです。
実行環境です。WSL (Windows Subsystem for Linux)を使用しています。
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
C
1#include <stdio.h> 2#include <stdlib.h> 3#include <unistd.h> 4#include <pthread.h> 5#include <errno.h> 6 7#define SIZE 10000000 8 9void *threadFunc(void *arg){ 10 double table[SIZE]; 11 int i; 12 for(i=0;i<SIZE;i++){ 13 table[i] = i*3.14; 14 } 15 return NULL; 16} 17int main(int argc,char *argv[]){ 18 pthread_attr_t attr; 19 pthread_t thread; 20 21 pthread_attr_init(&attr); 22 if(pthread_attr_setstacksize(&attr,SIZE*sizeof(double)+100000i) !=0) 23 { 24 printf("Failed to set stack size.\n"); 25 exit(1); 26 } 27 28 if(pthread_create(&thread,&attr,threadFunc,NULL) !=0) 29 { 30 printf("Error:Failed to create new thread.\n"); 31 exit(1); 32 } 33 34 if(pthread_join(thread,NULL) != 0) 35 { 36 printf("Error:Failed to wait for the thread termination.\n"); 37 exit(1); 38 } 39 40 return 0; 41}
回答2件
あなたの回答
tips
プレビュー