Найдено 3 результата

Sheff
26.09.2011 11:27:24
Форум: Free Pascal Compiler
Тема: Обработка исключений
Ответы: 5
Просмотры: 4233

Re: Обработка исключений

а в теории могла бы быть возможность иметь доступ к переменным (except.inc)?

ThreadVar
ExceptAddrStack : PExceptAddr;
ExceptObjectStack : PExceptObject;


т.е. я конечно могу добавить пару функций в objpash.inc/except.inc чтото типа:

function GetExceptAddrStack: PPointer;
begin ...
Sheff
25.09.2011 22:05:49
Форум: Free Pascal Compiler
Тема: Обработка исключений
Ответы: 5
Просмотры: 4233

Re: Обработка исключений

Спасибо, Сергей. до меня кажется дошло!
SetJmp считывает адрес следующей команды после нее в Jmp_Buf. и при исключении управление передается по этому адресу. А там как раз стоит проверка условия
test %eax, %eax

не радует только немного убогий ассемблерный отладчик в Lazarus.. а как посмотреть ...
Sheff
25.09.2011 20:20:38
Форум: Free Pascal Compiler
Тема: Обработка исключений
Ответы: 5
Просмотры: 4233

Обработка исключений

Здрасте)
Хочу разобраться как FPC обрабатывает исключения. Методом тыка и Ctrl+Alt+D нашел, что для try используется fpc_PushExceptAddr, и в конце концов (когда надо убрать фрейм) - fpc_PopAddrStack. но не могу понять где именно передается адрес обработчика. В Delphi было явно написано

push ...