Thread View: pl.comp.os.linux.programowanie
5 messages
5 total messages
Started by Borneq
Tue, 11 Dec 2012 09:45
SEH w Linuxie
Author: Borneq
Date: Tue, 11 Dec 2012 09:45
Date: Tue, 11 Dec 2012 09:45
3 lines
1086 bytes
1086 bytes
Czy jest jakiś odpowiednik Structured Exception Handling w Linuxie? Czy są gdzieś dane wątku, podobnie jak taki blok jest wskazywany przez segment FS w Windows?
Re: SEH w Linuxie
Author: Stachu 'Dozzie' K.
Date: Tue, 11 Dec 2012 12:11
Date: Tue, 11 Dec 2012 12:11
14 lines
1698 bytes
1698 bytes
On 2012-12-11, Borneq <borneq@antyspam.hidden.pl> wrote: > Czy jest jakiś odpowiednik Structured Exception Handling w Linuxie? Czy są > gdzieś dane wątku, podobnie jak taki blok jest wskazywany przez segment FS w > Windows? A co to jest SEH? Co to jest "segment FS"? I dlaczego to miałoby być mechanizmem systemu operacyjnego zamiast mechanizmem języka? Jesteś na grupie linuksowej, nie zakładaj, że pozostali są doświadczonymi programistami Windows. -- Secunia non olet. Stanislaw Klekot
Re: SEH w Linuxie
Author: Borneq
Date: Tue, 11 Dec 2012 14:26
Date: Tue, 11 Dec 2012 14:26
18 lines
2224 bytes
2224 bytes
Użytkownik "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> napisał w wiadomości news:slrnkce8o0.ni1.dozzie@jarowit.net... > A co to jest SEH? Co to jest "segment FS"? I dlaczego to miałoby być > mechanizmem systemu operacyjnego zamiast mechanizmem języka? Chodziło mi o to czy w Linuksie jest jakiś standard obsługi wyjątków, czy też to zależy od kompilatora? Pliki asemblerowe generowane przez GCC zawierają odwołania do funkcji:_cxa_allocate_exception,__cxa_throw,__cxa_begin_catch,__cxa_end_catch W opisie http://www.hexblog.com/wp-content/uploads/2012/06/Recon-2012-Skochinsky-Compiler-Internals.pdf jest że GCC korzyta albo z setjmp/longjmp albo z "zero-cost", który jest jednak bardzo skompiikowany. Programowo można rzucać wyjątek i go odbierać w sposób zależny od kompilatora, ale do wyjątków typu dzielenia przez zero lub zapis w niedozwolonym miejscu pamięci potrzebna jest współpraca systemu. Linux ma coś takiego jak sygnały, czy wyjątki opierają się na sygnałach? Próbowałem przejąć sygnał dzielenia przez zero. Co do "segmentu FS" -czy w Linuxie jest jakiś prosty sposób dostania się do bloku informacji o wątku?
Re: SEH w Linuxie
Author: Stachu 'Dozzie' K.
Date: Tue, 11 Dec 2012 15:05
Date: Tue, 11 Dec 2012 15:05
35 lines
2836 bytes
2836 bytes
On 2012-12-11, Borneq <borneq@antyspam.hidden.pl> wrote: > Użytkownik "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> > napisał w wiadomości news:slrnkce8o0.ni1.dozzie@jarowit.net... >> A co to jest SEH? Co to jest "segment FS"? I dlaczego to miałoby być >> mechanizmem systemu operacyjnego zamiast mechanizmem języka? > > Chodziło mi o to czy w Linuksie jest jakiś standard obsługi wyjątków, czy > też to zależy od kompilatora? Zapewne zależy to od ABI. Dla C++ pod Linuksem de facto standardem jest GCC. W C w ogóle nie występuje coś takiego jak wyjątki, więc tu nawet nie ma o czym mówić. Zresztą pod Windows też zależy (zależało?) od ABI. Kiedyś biblioteki, które wyszły spod Borlanda, nie współpracowały z VC++. > [...] > Programowo można rzucać wyjątek i go odbierać w > sposób zależny od kompilatora, ale do wyjątków typu dzielenia przez zero lub > zapis w niedozwolonym miejscu pamięci potrzebna jest współpraca systemu. > Linux ma coś takiego jak sygnały, czy wyjątki opierają się na sygnałach? Wyjątków jako takich w API uniksowym nie ma w ogóle. Są sygnały, ale to co innego niż typowo się rozumie przez wyjątki i inaczej się z tym postępuje. > Próbowałem przejąć sygnał dzielenia przez zero. Co do "segmentu FS" -czy w > Linuxie jest jakiś prosty sposób dostania się do bloku informacji o wątku? A czego konkretnie chcesz o tym wątku się dowiedzieć? Oglądałeś `man -k pthread'? -- Secunia non olet. Stanislaw Klekot
Re: SEH w Linuxie
Author: Borneq
Date: Tue, 11 Dec 2012 15:25
Date: Tue, 11 Dec 2012 15:25
15 lines
1728 bytes
1728 bytes
Użytkownik "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> napisał w wiadomości news:slrnkceit6.ni1.dozzie@jarowit.net... > Zapewne zależy to od ABI. Dla C++ pod Linuksem de facto standardem jest > GCC. W C w ogóle nie występuje coś takiego jak wyjątki, więc tu nawet > nie ma o czym mówić. > Wyjątków jako takich w API uniksowym nie ma w ogóle. Są sygnały, ale to > co innego niż typowo się rozumie przez wyjątki i inaczej się z tym > postępuje. > A czego konkretnie chcesz o tym wątku się dowiedzieć? > Oglądałeś `man -k pthread'? jest tego sporo, na przykład man pthread_attr_getstack
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads