Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > AddVectoredExceptionHandler не обрабатывает int3


Автор: bass 4.7.2015, 17:59
Ну собственно проблема описана в заголовке.

Компилятор Builder 6.
Код



LONG NTAPI VectoredHandler(PEXCEPTION_POINTERS pExceptionInfo)
{
         Form1->Memo1->Lines->Add("Îáðàáîò÷èê ñðàáîòàë");
         return EXCEPTION_CONTINUE_EXECUTION;
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AddVectoredExceptionHandler(1, VectoredHandler);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
asm
{
int 3
}





}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    __asm
   {
      mov     eax,  0      // 
      mov     [eax], 1                     //
 }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
   __asm
   {
      mov     eax,  0      //
      call     [eax]                 //
   }
}
//---------------------------------------------------------------------------




Int 3 не создает исключения
Хотя на остальное все впрядке уходит в екзепшен.



Автор: bass 5.7.2015, 12:33
Прошу прощения, работает и из другова потока работает, главное под отладкой не запускать.... Интересно, отладчик этоже функцией пользуеться ???

Автор: GremlinProg 5.7.2015, 19:05
Цитата(bass @  5.7.2015,  14:33 Найти цитируемый пост)
Интересно, отладчик этоже функцией пользуеться ???

Скорее всего, он пользуется чем-то из этого: https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms679303%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

например так: https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms681675(v=vs.85).aspx

Автор: DarthTon 7.7.2015, 12:00
int3 исключение по-умолчанию является first-chance под отладчиком т.к. оно используется для обычных точек останова.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)