powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
76 сообщений из 76, показаны все 4 страниц
Константа номера строки редактора
    #40100071
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!

Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?
Например:
Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num ' + CURRENT_LINE_NUM);
3: end;

Result: Line num 2
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100073
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Зачем тебе такое?

P.S. В SynEdit и его клонах - такое есть (ну вдруг ты свой редактор пишешь).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100075
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Но есть способы получить на основании отладочной информации
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40100143
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;


А в таком случае что должно написать?

Строки-то понятие условное. Можно в отладочной инфе что-то наковырять. Главное понять - для чего?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40107923
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman
А в таком случае что должно написать?


В теории это: Line num 4
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108004
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

а на практике отладчик покажет, что это номер 2. И будет полностью прав.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108018
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r
FreeAdman,

а на практике отладчик покажет, что это номер 2. И будет полностью прав.


Да нифига.

В примере очевидно же, что то служебная константа.
И вообще вы чушь пишите и противоречите логике.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108021
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r
FreeAdman,
а на практике отладчик покажет, что это номер 2. И будет полностью прав.


Не будет он прав. Ибо по вашей логике:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;

Result: Line num 2



И

Код: pascal
1.
2.
3.
4.
5.
6.
7.
1: begin
2:     
3:     ShowMessage('Line num '  + CURRENT_LINE_NUM);
4:
5: end;

Result: Line num 2



Это одно и тоже. Тогда CURRENT_LINE_NUM вообще не будет показывать корректный номер строки в редакторе по той причине, что он не учитывает перенос строк. Развелось кодеров всяких с дипломами...
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108068
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman,

идея наверное навеяна интерпретаторами? Лучше уж делать в традициях 8-бит и 8кБ ПЗУ - "Ошибка #8715" и уже по коду искать, в каком месте такой код ошибки записан. А то сегодня это строка 12, завтра вы чего-то там нафигачили, выдали новый релиз и сиди потом ищи 12 строка - это для какой версии сырцов и есть ли вообще эта версия сырцов у вас в наличии. Вообщем - бредовая идея с номерами строк.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108075
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
И вообще вы чушь пишите и противоречите логике.


ок, ок.
Удаляюсь, не буду спорить со знатоком.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108076
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin, ещё один? Вы то вникайте в текст, а не на "отстань". Бесполезно разговаривать.
ПС: заодно включите голову

Vizit0r
FreeAdman
И вообще вы чушь пишите и противоречите логике.

ок, ок.
Удаляюсь, не буду спорить со знатоком.

Начните соображать в конце концов
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108080
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
День добрый!

Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?


Вы так и не ответили, для чего вам это надо.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108099
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?

В FPC есть {$INCLUDE %LINE%}, в Delphi ничего похожего нет.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108118
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev Alexey
FreeAdman
Подскажите, пожалуйста, в Delphi есть волшебная константа номера текущей строки в редакторе кода?

В FPC есть {$INCLUDE %LINE%}, в Delphi ничего похожего нет.

Вот дураки FPC, вот глупость придумали же
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108122
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

И все-таки интересно: а зачем это?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108151
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman,

можешь (например) получить номер строки и имя файла из текста исключения, сгенерированного псевдофункцией assert().
Опции сборки проекта, естественно, должны быть настроены на генерацию assert's, с отладочной информацией (включая номера строк).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108163
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
FreeAdman,

можешь (например) получить номер строки и имя файла из текста исключения, сгенерированного псевдофункцией assert().
Опции сборки проекта, естественно, должны быть настроены на генерацию assert's, с отладочной информацией (включая номера строк).


Assert покажет ему для примера

Код: pascal
1.
2.
3.
4.
5.
6.
0: procedure proc1;
1: begin
2:     ShowMessage(
3:           'Line num ' 
4:                + CURRENT_LINE_NUM);
5: end;



строку 4?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108165
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r,

проблемы? Проверь.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108185
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Vizit0r,

проблемы? Проверь.

Вопрошающий скорее всего хотел в рантайме получить номер строки в исходнике и вывести его в лог либо на экран, а не сгенерить исключение, чем прервать исполнение программы. Как по мне - номер строки ничего не даст, так как эта ошибка могла произойти при разных условиях и стек вызовов тут куда более информативен, чем просто номер строки. Уже много лет использую библиотеку madException, которая решает все проблемы по поиску проблем в коде.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108198
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin
Вопрошающий скорее всего хотел в рантайме получить номер строки в исходнике и вывести его в лог либо на экран
Это все понятно, фича прикольная, но ЗАЧЕМ?!

Номер текущей строки и так известен программисту в момент написания вывода в лог.

Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num 2');
3: end;

vs
Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:     ShowMessage('Line num '+LINE_NUM);
3: end;

Чем эти 2 варианта друг от друга принципиально отличаются?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108200
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С точки зрения отладки лучше уж сразу написать:
Код: pascal
1.
2.
3.
4.
0: procedure proc1;
1: begin
2:    ShowMessage('unitx.proc1.my_featureXXX');
3: end;

Надежней и понятней будет.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108210
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Чем эти 2 варианта друг от друга принципиально отличаются?
Тем, что добавление/удаление кода перед калькулируемой строкой похерит все твои индексы
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108211
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Ну и что?

Обычный поиск по тексту прекрасно найдет этот самый showmessage.

При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

Мой вариант с ShowMessage('unitx.proc1.my_featureXXX'); надежней.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108212
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

В VCS всё будет на своих местах.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108213
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Угу. А смысл?
Зачем вообще эти хуевые решения если есть нормальное?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108214
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Зачем вообще эти хуевые решения если есть нормальное?

Это и есть нормальное.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108215
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108217
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал, читал.... Так нифига и не понял :( Вы о чем спорите-то?-))))

С точки зрения компилятора - ошибка в строке 17. Аминь.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108219
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

+1000!

Компилируется - значит, работает - (с).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108318
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
rgreat
При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

В VCS всё будет на своих местах.

Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108325
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.

Использование {$I %FILE%} + ', ' + {$I %LINE%} обеспечивает однозначное позиционирование в исходном коде. Переживает любой рефакторинг, не требует креативных непересекающихся имён для т.н. "фич", и избавляет от необходимости поиска по файлам. Более чем вменяемо.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108326
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
softwarer
Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.

Использование {$I %FILE%} + ', ' + {$I %LINE%} обеспечивает однозначное позиционирование в исходном коде. Переживает любой рефакторинг, не требует креативных непересекающихся имён для т.н. "фич", и избавляет от необходимости поиска по файлам. Более чем вменяемо.

Помимо прочих недостатков, оно намертво ломается в тривиальном кейсе:

1. Программист Вася пилит какую-нибудь фичу. Он сделал бранч, внёс изменения и в ходе отладки напоролся на такую ошибку где-то в чужом коде. Обошёл её и пошёл дальше.

2. Через неделю-две-три программист Петя, у которого дошли руки до разгребания валяющихся в трекере мелких ошибок, отгадывает это самое {$I %FILE%} + ', ' + {$I %LINE%} не соответствующее вообще ничему - поскольку состояние исходников, в котором оно сработало, было только у Васи на компе.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108331
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Если в процессе разработки бардак, то увы и ах, но поправлять придётся в консерватории.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108332
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

прикрывать плохое техническое решение беспочвенными ссылками на неправильный процесс - это и есть бардак.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108335
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Бардак техническими средствами не решается, да.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108336
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

отчего же. Правильные технические решения очень часто не оставляют бардаку места, примеров сколько угодно. Скажем, я помню, какой бардак когда-то творился с сообщениями об ошибках - "Ну почему вы не запомнили текст? А где это было? Ну вот опять..." - а всего-то потребовалось правильно организовать автоматические репорты. Я помню, какой бардак творился когда-то с ведением исходников и поддержкой разных версий - а всего-то потребовалось спроектировать вменяемые VCS.

Что же до предмета спора, он иллюстрирует другой верный тезис - подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108352
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе

При организованном процессе в билдах всегда есть отпечаток версии исходников (та самая привязка к VCS о которой уже было сказано). Все логи начинаются с обозначения отпечатка и крешрепорты содержат его. А если у Пети с этим до сих пор проблемы, то с его поставленным процессом что-то не так.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108357
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
softwarer
подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе

При организованном процессе в билдах всегда есть отпечаток версии исходников (та самая привязка к VCS о которой уже было сказано). Все логи начинаются с обозначения отпечатка и крешрепорты содержат его. А если у Пети с этим до сих пор проблемы, то с его поставленным процессом что-то не так.

Ты бы попробовал научиться читать до того, как начинать возражать.

Ещё раз, на пальцах:
  • На старте текущей в VCS является версия V1, в ней в сотой строке некоего файла лежит такая вот диагностика ошибки
  • Васе нужно допилить реализацию кнопки А. Он отбранчовывается и начинает вносить изменения, в результате чего диагностика перемещается в строчку 105
  • Вася запускает exe (уж не знаю, какой именно "отпечаток версии" ты ожидаешь увидеть в отладочном exe, придумай на свой вкус), и там случайно промахивается и вместо кнопки А нажимает кнопку Б. Получает ошибку "хрень в строке 105"
  • Поскольку Вася пилит кнопку А, он забывает о своём промахе и идёт дальше, а репорт "хрень в строке 105" ложится ждать своего часа в трекер
  • В конце концов Вася допиливает реализацию и кладёт в контроль версий исходники, где диагностика лежит уже в строке 110, это будет версия V2.
А вот теперь расскажи, каким образом Петя, когда у него дойдут руки до репорта "хрень в строке 105", будет выбирать между версиями V1, V2, V3 и V4, чтобы попытаться воспроизвести и исправить.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108361
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
[li]Вася запускает exe (уж не знаю, какой именно "отпечаток версии" ты ожидаешь увидеть в отладочном exe, придумай на свой вкус), и там случайно промахивается и вместо кнопки А нажимает кнопку Б. Получает ошибку "хрень в строке 105"
  • Поскольку Вася пилит кнопку А, он забывает о своём промахе и идёт дальше, а репорт "хрень в строке 105" ложится ждать своего часа в трекер
Можно нескормный вопроc? Какого... репорты отладочных билдов собранных на локальных машинах девелоперов попадают в продактовый трекер? Это такое у вас понимание поставленного процесса?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108363
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Можно нескормный вопроc? Какого... репорты отладочных билдов собранных на локальных машинах девелоперов попадают в продактовый трекер? Это такое у вас понимание поставленного процесса?

А что ты предлагаешь? В рамках поставленного процесса забивать на них болт? Вообще-то, по-нормальному, 99% ошибок отлавливаются и устраняются до того, как проявятся на продакшне - на разных стадиях разработки и тестирования. Хотя да, конечно, можно делать вид, что в приложении нет никаких ошибок до тех пор, пока "хрень в строке X" таки не вывалится на проде.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108365
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Э-э-э.... А что у нас на проде? Последний билд V4 или сборная солянка из V1....Vn? Зачем Пете отлавливать баг в V1, если текущая версия - V100501 ? Петя берет с сервера последнюю версию, жмакает в А и Б - и рапортует, что бага или нет, или есть. Но не устраивает игры в Шерлока Холмса "а в каком же билде у нас такое вот было....". А что там собрали разрабы у себя на локали - это вообще-то проблемы разрабов и команды тестировщиков. Проблемы первых - не накосячить, вторых - не пустить косяки на проду.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108367
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Э-э-э.... А что у нас на проде? Последний билд V4 или сборная солянка из V1....Vn?

На проде, скорее всего, версия V0 - последний протестированный релиз, возможно с хотфиксами. V1 - это текущая разрабатываемая версия (то, что наплодили разработчики со времён V0 и что ждёт своего выкладывания на прод). Для простоты можно предположить, что ошибка, порождающая "хрень", внесена именно в V1, и в V0 её ещё нет.

DarkMaster
Петя берет с сервера последнюю версию, жмакает в А и Б - и рапортует, что бага или нет, или есть.

Ну здорово. Взял с сервера V0 и отрапортовал, что её нет. Закрыл таску. Потом наступает релиз - и она наконец-то начинает вываливаться на проде. "Мы все - ма-лад-цы" (тм)

DarkMaster
А что там собрали разрабы у себя на локали - это вообще-то проблемы разрабов и команды тестировщиков. Проблемы первых - не накосячить, вторых - не пустить косяки на проду.

Ну то есть ты предлагаешь забить на найденную ошибку и надеяться, что потом, когда начнётся тестирование релиза - тестировщики найдут её ещё раз. Это не выглядит образцом надёжности.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108368
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
А что ты предлагаешь? В рамках поставленного процесса забивать на них болт?

В продактовый трекер должны попадать только те репорты, что пришли с продакта, но никак не с машины девелопера, где он может на дню всё сто раз сломать и исправить. Это как минимум.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108369
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
В продактовый трекер должны попадать только те репорты, что пришли с продакта

Ну то есть забить болт до тех пор, пока бага не стрельнет у пользователей. Очень мило.

Kazantsev Alexey
но никак не с машины девелопера, где он может на дню всё сто раз сломать и исправить.

На этот случай есть чекбокс "слать ли репорт".
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108383
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ну то есть забить болт до тех пор, пока бага не стрельнет у пользователей.

Не знаю тонкостей вашего поставленного процесса, но полагаю, для разработчика не должно быть проблемой оформить репорт для продакта, если он видит, что креш вызван не его действиями. Это всё рабочие моменты, тонкости которых обсуждать смысла чуть больше чем никакого.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108424
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Не знаю тонкостей вашего поставленного процесса, но полагаю, для разработчика не должно быть проблемой оформить репорт для продакта, если он видит, что креш вызван не его действиями.

Не проблема, конечно. Вопрос в том, как делать это наиболее эффективно.

В случае нашего процесса это действие регулируется одним проставить/снять галочку, и в результате в трекер уезжает качественный отчёт - со стректрейсом, значениями ключевых переменных итп. Ты предлагаешь тратить гораздо больше времени на то, чтобы руками оформить значительно менее качественный репорт. И ради чего? Только ради того, чтобы обойти лажу плохого технического решения с %LINE%.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108434
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ты предлагаешь тратить гораздо больше времени на то, чтобы руками оформить значительно менее качественный репорт.

Нет, я предлагаю делать правильно. Разработчик должен быть уверен, что креш произошёл не в результате внесённых им изменений. Быть уверенным в этом можно только если удаётся воспроизвести проблему на исходниках из VCS. Собственно, это всё.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108437
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так и не сказали в каких случаях вообще нужна такая фича как LINE_NUM.

Не StackTrace или LAST_ERROR_LINE_NUM а именно LINE_NUM.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108440
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Нет, я предлагаю делать правильно.

Ещё вчера для тебя было правильным "репорты только с продакта". Поэтому я с некоторым скепсисом отношусь к новым рецептам правильности.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108441
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Можешь посмотреть: https://github.com/search?q="%line%" language:pascal&type=code
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108442
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ещё вчера для тебя было правильным "репорты только с продакта". Поэтому я с некоторым скепсисом отношусь к новым рецептам правильности.

Это не новый рецепт, если ты не понял.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108443
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Регистрироваться лень.
Но судя по тексту ссылки - нечто бесполезное.

Словами можно?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108444
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Тебе лень и мне лень.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108466
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Kazantsev Alexey

Ты бы попробовал научиться читать до того, как начинать возражать.


Ты бы попробовал слушать, что тебе пишут люди, если головкой сам не можешь отдуплить.
Послушай людей, прежде чем делиться чушью из своей головы.

Вася там или Федя правки внёс... Kazantsev Alexey тебе правильно объяснил. И такая отладочная штука будет стабильно и корректно работать. У каждого модуля свой номер строки.
Если вы, тысячекратно дико уважаемый, не способны переварить элементарные вещи, так может кодинг - это не ваше? Призадумайтесь.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108467
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

А у меня ощущение что ты сам не сможешь сформулировать адекватный ответ на вопрос: "зачем?"
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108468
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Может ты ответишь зачем это надо?
Обещаю не троллить.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108469
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
FreeAdman,

Может ты ответишь зачем это надо?


Если надо вывести номер строки где произошло нечто дабы можно было открыть проект и быстро найти проблемное место согласно номеру строки.

Разные случаеи бывают. Бывает хер отловить ошибку памяти или указатель где похерен... Неужели не понятно для чего?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108472
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
А у меня ощущение что ты сам не сможешь сформулировать адекватный ответ на вопрос: "зачем?"

С ощущениями это к терапевту, а на счёт "зачем" сказано уже достаточно.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108478
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman
Если надо вывести номер строки где произошло нечто дабы можно было открыть проект и быстро найти проблемное место согласно номеру строки.
Хм. "что-то произошло", но это не ошибка?
Не лучше ли вывести стектрейс?

Разные случаеи бывают. Бывает хер отловить ошибку памяти или указатель где похерен... Неужели не понятно для чего?
Не, не понятно.
Зачем stacktrace или leak report - понятно. Зачем нужно логирование событий - понятно.

Непонятно зачем нужен номер строки в заранее известном программисту при написании кода логирования месте.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108496
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой смысл спора о [не]нужности отсутсвующей возможности?
Данной фичи нет, спор не приведёт к её появлению.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108501
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Какой смысл спора о [не]нужности отсутсвующей возможности?
Данной фичи нет, спор не приведёт к её появлению.

Да я особо и не спорил. Форумчане топик поддержали между собой.
Я просто поинтересовался. Нету фичи - ну и бог с ней
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108523
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что фичи нет в коробке не значит что ее нельзя добавить в принципе. Некоторые либы типа Eurekalog, Mad Except вполне справляются. И колл-стэки покажут, и строки и утечки и указатели и вот это всё и еще в 10 раз больше.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108584
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Не лучше ли вывести стектрейс?
Нет. Стектрейс покажет проявление ошибки. А сама ошибка может быть сильно раньше. Именно для этого нужно полной логирование
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108678
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
rgreat
Не лучше ли вывести стектрейс?
Нет. Стектрейс покажет проявление ошибки. А сама ошибка может быть сильно раньше. Именно для этого нужно полной логирование


Если ты о типичной ошибке в цепочке деструкторов - то как раз стектрейс ткнет носом в место ее возникновения (которое вообще в других модулях может быть). LineNum в данном конкретном месте только покажет, что MyObject.Free() на строке XYZ - крашится. Не более.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108681
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

Угу.

Код: pascal
1.
2.
3.
4.
5.
procedure TObject.Free;
begin
  if Self <> nil then
    Destroy;
end;



И чего ему крашиться? :))
А ото нефиг говнокодить!
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108684
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Отнаследуй раз 5-6-10. А потом поломай Destroy где-то в середине цепочки. Почувствуй разницу.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108699
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Если ты о типичной ошибке в цепочке деструкторов - то как раз стектрейс ткнет носом в место ее возникновения
Да нет же. Смотри: в программировании существует ровно одна ошибка - переменная имеет неправильное значение. Так вот, ошибка и стектрейс мы увидим в том месте, где это неправильное значение не соответствует логике программы. Тогда как полное логирование поможет найти причину этого неправильного значения.

Пример:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if Condition1 then
  List.Add(10);
...............
if Condition2 then
  List.Add(20);
...............
if Condition3 then
  List.Add(30);
..............
Writeln(List[2]);

На последней строке ты получишь ты Index of bound со стектрейсом. Теперь угадай, без предварительного логирования, какой Condition не выполнился
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108709
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
в программировании существует ровно одна ошибка - переменная имеет неправильное значение.

Давай я тебе расскажу одну ситуацию, а ты расскажешь, какая переменная имела неправильное значение.

Итак, написал я когда-то игрушку. Под MSDOS. И был там обработчик таймера, имевший примерно следующий вид:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure OnTimer;
  ...
begin
  { блок 1 }
  ...
  { блок 2 }
  ...
  { блок 3 }
  ...
  { блок 4 }
  ...
  { блок 5 }
  ...
end;


Все блоки были совершенно независимы, каждый занимался какой-то частью фонового оживляжа. Ну там допустим один двигал Солнце по небу, другой катал туда-сюда машинки, третий шевелил ветки деревьев итп. И вот, появилась в той программе такая проблема:
  • блоки были совершенно независимы
  • каждый блок по отдельности отлично работал
  • два-три блока вместе, составленные в любом порядке, тоже отлично работали
  • четыре любых блока работали-работали, а потом компьютер намертво вис
  • при пяти блоках компьютер намертво вис очень быстро, практически сходу.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108710
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

мощи не хватило. Смотри как оверлочить ЦП в моём соседнем топике
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108711
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeAdman,

Скорей: нефиг вызвать таймер чаще чем он успевает выполниться.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108712
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Скорей: нефиг вызвать таймер чаще чем он успевает выполниться.

Нет, дело было не в этом.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108714
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

возможно, что твоя игрушка имитировала четырехполый биологический вид, каждый блок - одильный пол. Пол объекту. назначался в момент его создания, путем инкремента глобального счетчика - идентификатора пола.
Некоторое время партнеры взрослели, потом вступали в половую связь и порождали пятого. При этом Пятый вызывал логическое переполнение в идентификаторе полов, вот комп и зависал.
Соответственно, пять блоков сразу вешали компьютер тоже сразу.
Всё просто.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108718
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
При этом Пятый вызывал логическое переполнение в идентификаторе полов, вот комп и зависал.

С чего бы компу зависать от какого-то логического переполнения?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108719
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

тогда только кривые ручки программиста.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108720
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

это само собой. Причина любой ошибки, кроме железнячной - кривые руки программиста. Но коллеге предстоит ответить на вопрос, в какой переменной они хранятся :)
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108741
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer,

масифф ?
...
Рейтинг: 0 / 0
76 сообщений из 76, показаны все 4 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]