Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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 WIN200

procedure 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
15-1173161727
Alkid
2007-03-06 09:15
2007.04.01
Кратифф на тему названий техники (не мой)


6-1161176432
SpellCaster
2006-10-18 17:00
2007.04.01
Отследить дисконнект клиентского сокета


15-1173287735
svr
2007-03-07 20:15
2007.04.01
Как восстановить файл? Срочно надо поднять винду!


2-1173286710
ДжекиМайер
2007-03-07 19:58
2007.04.01
как у себя выдрать свойства EXE ?


4-1163354066
vertal
2006-11-12 20:54
2007.04.01
com baud rate > 115200 - это фантастика?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский