Program received signal SIGSEGV, Segmentation fault.

0

witam, o co chodzi z tym Program received signal SIGSEGV, Segmentation fault.
?

0

Program ci się wywalił

0
Proxima napisał(a):

Program ci się wywalił

tzn? da sie jakoś to naprawić czy coś?

3

Wstaw kod.

EDIT: Segmentation fault oznacza tyle, że coś pochrzaniłeś z pamięcią. Ale jest to tak szeroka kategoria błędów, że bez kodu trudno cokolwiek wyrokować.

2
Programistyczny napisał(a):

da sie jakoś to naprawić czy coś?
Wystarczy przestać pisać poza przydzielony obszar pamięci: tablice, wskaźniki.

1

O to, że program jest żle napisany i wyklada sie. Reszta to już wróżenie z fusów, ale ja pijam kawę z expresu, więc nie bawie się fusami.

0
kmph napisał(a):

Wstaw kod.

EDIT: Segmentation fault oznacza tyle, że coś pochrzaniłeś z pamięcią. Ale jest to tak szeroka kategoria błędów, że bez kodu trudno cokolwiek wyrokować.

kodu jest bardzo dużo ponad 100 plików .cpp i .h
dałoby radę z grubsza mniej więcej mi wyjaśnić gdzie może problem leżeć? lub jakos minimalnie nakierować
wątpię żeby komu kolewiek się chciało tyle kodu przeglądać

0

Wow.

Sam napisałeś tyle kodu, czy to czyjeś?

3

W takim razie odpal to z debuggerem i wtedy będzie widać gdzie się wywaliło. Nie zawsze to pomoże, ale istnieje szansa ;] Analogicznie mozna spróbować takich rzeczy jak valgrind.

0

dzieki wszystkim za pomoc mam małe pytanie w kodzie mam tak:

	sigaction(SIGILL, &sa, nullptr);		// illegal instruction
	sigaction(SIGSEGV, &sa, nullptr);	// segmentation fault
	sigaction(SIGFPE, &sa, nullptr);		// floating-point exception 
 	signal(SIGILL, SIG_DFL);	// illegal instruction
	signal(SIGSEGV, SIG_DFL);	// segmentation fault
	signal(SIGFPE, SIG_DFL);	// floating-point exception

to jest ok czy coś powinienem poprawić?

0

To za mało, może np sa niepoprawnie wypełniłeś.

0
_13th_Dragon napisał(a):

To za mało, może np sa niepoprawnie wypełniłeś.

	struct sigaction sa;
	sa.sa_sigaction = &_SigHandler;
	sigemptyset (&sa.sa_mask);
	sa.sa_flags = SA_RESTART | SA_SIGINFO; 
1

Może wypełnij najpierw całość zerami, przez memset lub zainicjalizuj każde pole struktury.

1 użytkowników online, w tym zalogowanych: 0, gości: 1