Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
| andriano |
17.12.2007 23:24
Сообщение
#1
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
program Project1; 1. Хочется получить на экран диагностику с указанием строки, в которой произошла ошибка. Например так, как это делает ТМТ: Код RunError #200 (division by zero) Calls stack: ERRORTMT.A [ERRORTMT.PAS(10) at 00000009] ERRORTMT.B [ERRORTMT.PAS(15) at 0000000A] ERRORTMT.ERRORTMT [ERRORTMT.PAS(21) at 0000000A] Return code: 4 Execution time: 0.06 seconds Press any key... 2.Хочется самому получить доступ к отладочной информации. Например, получить в подпрограмме название вызывающей программы. |
![]() ![]() |
| andriano |
18.12.2007 14:42
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Дело в том, что подавляющее число компиляторов сами составляют такие таблицы и на их основе осуществляют вывод посмертного дампа. Над изготовлением такой таблицы ручками я, разумеется, думал, но эта идея мне не понравлась.
В ТМТ, собственно, я при необходимости получить название вызывающей подпрограммы добываю ее из этой формируемой компилятором таблицы. Хотелось бы иметь возможность делать то же самое из Дельфи. Подключать дизассемблер - и мысли такой не было. Не нужно это. Ладно, "копать" в сторону SetUnhandledExceptionFilter я попробую, но, честно говоря, не верится, что такая функция как посмертный дамп может отсутствовать в мало-мальски серьезном крмпиляторе. Неужели в Дельфях это так? Другое дело, что в любом компиляторе эта функция подключается только при компиляции в отладочном режиме и отключена в основном. Может и Дельфи здесь все-таки следуют стандарту de facto, и эту функцию можно как-то включить? |
andriano Хочу получить диагностику ошибкин 17.12.2007 23:24
Better Kind Обработка исключений try except
Или вы всеже хотит... 18.12.2007 8:44
andriano Еще раз: хочу
1. При завершении по ошибке получить... 18.12.2007 11:55
Malice
Еще раз: хочу
1. При завершении по ошибке получит... 18.12.2007 13:31![]() ![]() |
|
Текстовая версия | 10.12.2025 0:21 |