C
CheffTR
Yeni Üye
-
-
- Konu Yazar
- #1
Exception Handler Nedir ?
Türkçeye "istisna işleme/yakalama, hata işleme/yakalama" gibi farklı çevirileri olan bu yapı aslında try-catch / try-except yapısıdır.
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
SEH (Structured Exception Handler) Nedir ?
Kısaca SEH 'de temelde try-catch gibi hata ayıklamak için kullanılan bir yapıdır. ()
SEH stack içerisinde 2 adet 4 byte'lık olmak üzere toplam 8 byte'lık bir alan kullanmakta. Bu alanlardan ilki bir sonraki SEH adresini ikincisi ise Exception Handler'ın adresini tutmakta. Yani asıl hatayı işleyip çıktı verecek olan kod parçası başka bir adres içerisinde tutulmakta.
Şöyle diye biliriz
Veri yapılarında görmüş olduğumuz linked list yapısına benzeyen bir yapı olduğunu söyleyebiliriz. Eğer exception handler çalışmaz ise bir sonraki SEH yapısına geçer ve onu çalıştırmayı dener ve bu şekilde devam eder. (0xFFFFFFFF adresine kadar. Son SEH o adreste bulunmaktadır)
Peki bu şekilde sıralı bir liste var ve bu sayede sırasıyla tüm SEH 'leri görebiliyorsun. Peki bu listenin başı nerde diye soracak olursak, SEH Chain'nin başı fs:[0] içerisinde tutulmaktadır. (fs:[0] 'da TEB/TIB bloğunun en başında bulunmaktadır)
Moderatör tarafında düzenlendi: