Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Внизсвой SEH Найти похожие ветки
← →
ДжекиМайер (2007-03-07 20:04) [0]на каждую строчку проги
try
ехсеpt
messquack ("error hd");
end;
не поставить , а может можно и номер строчки пишет где ошибка?
Access Violation например
← →
Германн © (2007-03-07 20:10) [1]
>
> ДжекиМайер (07.03.07 20:04)
>
> на каждую строчку проги
> try
>
> ехсеpt
> messquack ("error hd");
> end;
>
> не поставить , а может можно и номер строчки пишет где ошибка?
>
> Access Violation например
>
EurekaLog. Купи и будь счастлив!
← →
Dmitrij_K (2007-03-07 22:38) [2]google -> madcollection
← →
Джо © (2007-03-07 22:40) [3]> на каждую строчку проги
> try
>
> ехсеpt
> messquack ("error hd");
> end;
>
> не поставить
И правильно. Зачем?
← →
ДжекиМайер (2007-03-07 23:09) [4]google -> madcollection
EurekaLog. Купи и будь счастлив!
кроме платного ничего нет, самому своять,знать бы принцип ?
← →
DVM © (2007-03-07 23:13) [5]
> кроме платного ничего нет, самому своять,знать бы принцип
> ?
JediVCL + FastMM4 вполне достаточно, чтобы локализовать все исключения и прочие проблемные места в программе.
← →
Германн © (2007-03-07 23:54) [6]
> кроме платного ничего нет, самому своять,знать бы принцип
> ?
>
Долгая дорога в дюнах тебе :(
← →
ДжекиМайер (2007-03-09 09:15) [7]так забьем,
а много ли памяти жрет ? и места в коде
конструкцииtry
except
end;
в критических местах (поинтеры, ввод-вывод), скажем если таких конструкций
будет 200 штук раздуется моя прога ?
← →
Сергей М. © (2007-03-09 09:21) [8]
> раздуется моя прога ?
А чем оправдана эта "ловля блох" ?
← →
Плохиш © (2007-03-09 11:21) [9]
> Сергей М. © (09.03.07 09:21) [8]
> А чем оправдана эта "ловля блох" ?
Я знаю - отсутствием желания знакомиться со встроенным отладчиком ;-)
← →
trubin © (2007-03-09 12:12) [10]На RSDN есть статья "Локализация ошибок в приложениях Delphi c помощью библиотеки Jedi Code Library". Я пользуюсь, достаточно удобно.
← →
ДжекиМайер (2007-03-09 14:46) [11]спасибо гляну
← →
ДжекиМайер (2007-03-11 00:51) [12]почему не ловит ?,
пока временно заткнул такprocedure TForm1.FormCreate(Sender: TObject);
Application.OnException:=ApplicationEvents1Exception;procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
showmessage("тяжелое!");
Application.Terminate;
проверяю так - ожидаю увидеть свое сообщениеvar
p:^dword;
begin
p^:=3333;
но не перехватывает а показывает виндовское - память не может быть рэад
← →
Германн © (2007-03-11 01:32) [13]
> ДжекиМайер (11.03.07 00:51) [12]
Тебе это нужно для "приобретения знаний и/или опыта в программировании"? Или есть реальная потребность по работе?
Если первое, то читай (справку, исходники поставляемые с Дельфи и т.д.). Если второе, то вспомни мой совет в [1].
← →
ДжекиМайер (2007-03-11 11:28) [14]нет просто заткнуть системные мессаги в проге которую надо отдать
пока я разбираюсь с Jedi Code Library со своим вариантом
← →
ДжекиМайер (2007-03-11 13:43) [15]зачем пишут что этот обработчик ловит все
что не ловится секцией try-except ?
← →
GrayFace © (2007-03-11 17:21) [16]В Access Violation идет адрес ошибки. По нему без проблем востанавливается строка: Запискаешь, жмешь Ctrl+Alt+C, там Ctrl+G, вводишь адрес в форме $123456, в контекстнос меню "Show Source Line" или типа того.
http://delphimaster.net/view/15-1172580809/
← →
ДжекиМайер (2007-03-12 10:39) [17]посмотрел ту штуковинку
попробывал D6 WIN200procedure TForm1.FormCreate(Sender: TObject);
begin
//Application.OnException:=AppException;
DebugUtils.HookException(PrintToConsoleAndODS);procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
Application.ShowException(E);
Application.Terminate;
end;procedure TForm1.Button1Click(Sender: TObject);
var
a:^dword;
begin
a^:=222;
никаких окон - при нажатии на кнопку - приложение как будно сделало halt;
впрочем и юзание стандартного обработчикаApplication.OnException:=AppException;
дает тот же результат!
требуется только перехватить VA, неможет быть реад врите
и выдавать сообщение (стек и коды ошибок ненужны!!!!!!)
незнаю что из исходника выкинуть чтоб остался сам хук
и процедура куда идет сработка при тяжелой ошибке
(не try except )
← →
trubin © (2007-03-12 15:05) [18]
> посмотрел ту штуковинку
Какую из JCL ?
Покажи свое мыло, скину модуль, в который когда-то написал для работы с "той штуковиной"
← →
ДжекиМайер (2007-03-12 16:31) [19]JCL непрбывал , читал отзывы что от туда вобще ниче не выдрать
это пробывал http://home.earthlink.net/~akonshin/files/DebugUtils.zip
← →
GrayFace © (2007-03-12 16:53) [20]HookException надо делать в начале .dpr
> впрочем и юзание стандартного обработчика Application.OnException:=AppException; дает тот же результат!
Дак там же Application.Terminate стоит!
← →
ДжекиМайер (2007-03-13 00:32) [21]да но передним Application.ShowException(E);
или не показываем уже сообщения
тоже ставил HookException в начале .dpr
и в uses модуль ставил
требуется только перехватить VA, неможет быть реад врите
и выдавать сообщение (стек и коды ошибок ненужны!!!!!!)
незнаю что из исходника выкинуть чтоб остался сам хук
и процедура куда идет сработка при тяжелой ошибке
(не try except )
JCL неканаен и много мусора(
tempmail2005@mail.ru
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.058 c