Текущий архив: 2007.10.07;
Скачать: CL | DM;
Вниз
Баг отладчика и побочный эффект с showmessage. Найти похожие ветки
← →
oxffff © (2007-07-26 11:53) [0]Не буду темнить.
Ковыряясь в исходниках я наткнулся на очень полезные функции.
Назовем их Fast Mem Alloc.
А находятся они здесь Grids и используются там же.
function StackAlloc(Size: Integer): Pointer; register;
StackAlloc allocates a "small" block of memory from the stack
procedure StackFree(P: Pointer); register;
StackFree pops the memory allocated by StackAlloc off the stack.
Вот упрощенный пример использования их функциональности
procedure a1;asm
pop eax;
sub esp,$10;
push eax;
end;
procedure a2;asm
pop eax;
add esp,$10;
push eax;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin
a1;
showmessage(inttostr(b));
showmessage(inttostr(a));
a2;
end;
Поставьте бряк на вызов a1. Запустите приложение и нажмите кнопку. Далее нажмите на F8.
На showmessage вы не попадаете, хотя должны.Тоже самое на ASM коде при F8 на call a1
Это и есть выявленный недочет отладчика.
Теперь о странном эффекте showmessage
Продолжение здесь
http://delphimaster.net/view/1-1185435238/
← →
oxffff © (2007-07-26 15:02) [1]Здесь сообщение о недочете.
http://qc.codegear.com/wc/qcmain.aspx?d=49593
← →
oxffff © (2007-07-27 08:53) [2]Отчет получил статус Open.
← →
Rouse_ © (2007-07-27 11:15) [3]Дельфя какая? Под 2007 все отрабатывает как надо...
← →
oxffff © (2007-07-27 11:23) [4]
> Rouse_ © (27.07.07 11:15) [3]
> Дельфя какая? Под 2007 все отрабатывает как надо...
Проверял на 7. На 2006 не проверял.
Вот добавление к отчету от sysop
Sysop OF: Reproduced with Delphi 2007.
Осталось выяснить кто прав.
← →
Rouse_ © (2007-07-27 12:04) [5]я не прав - не там бряк поставил... :)
Страницы: 1 вся ветка
Текущий архив: 2007.10.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.033 c