SORU
19 Ocak 2009, PAZARTESİ


Alıcı erişim ihlali özel durumlar?

Örnek

int *ptr;
*ptr = 1000;

herhangi bir microsoft belirli kullanmadan bellek erişim ihlali özel durum standart C kullanılarak binebilirim.

CEVAP
28 Mayıs 2009, PERŞEMBE


Okuyun ve ağlayın!

Anladım. Eğer işleyicisi atmak yok eğer doğru değilse, işleyici devam edecek ve çok özel olacak.

Sihirli istisna sen kendi attığın zaman olur onu kullanabilir.

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <tchar.h>

void SignalHandler(int signal)
{
    printf("Signal %d",signal);
    throw "!Access Violation!";
}

int main()
{
    typedef void (*SignalHandlerPointer)(int);

    SignalHandlerPointer previousHandler;
    previousHandler = signal(SIGSEGV , SignalHandler);
    try{
        *(int *) 0 = 0;// Baaaaaaad thing that should never be caught. You should write good code in the first place.
    }
    catch(char *e)
    {
        printf("Exception Caught: %s\n",e);
    }
    printf("Now we continue, unhindered, like the abomination never happened. (I am an EVIL genius)\n");
    printf("But please kids, DONT TRY THIS AT HOME ;)\n");

}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010
  • Watcher3223

    Watcher3223

    15 Kasım 2007