Показать сообщение отдельно
Старый 01.07.2010, 07:04   #10
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

VladimirMangos прочитай пожалуйста.

Цитата:
Сообщение от tempura Посмотреть сообщение
{<No data fields>}, <No data fields>},
пустые данные в базу пытается лить?
Немного не то. Но заметка правильная.
Я тоже ловлю краши, правда в других местах. И никак не могу отловить. Но пытаюсь В дебаге на локале всё замечательно, на лайв серве время от времени происходят
Но, ноги от туда-же растут.
Ситуация такая - в одном месте выделили память, занесли туда значения, затем по ненадобности освободили её (иначе была бы утечка, чего не происходит), но в другом месте обращение идёт именно туда. Там уже естественно не то что ожидалось. Вот и ловим краш.

Эхх. Криво у нас всё. Шаг влево, шаг вправо - расстрел.
На Delphi есть замечательная функция, которая отладку на несколько порядков упрощает (я Delphi програмер лет 15 ):

procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free;
end;

если подобную функцию использовать в движке для очистки, то сразу будет видно, где и что.

И ещё одно - почему не используется SEH? Переносимо на все платформы:
try
{
Я ща чёго-то натворю
}
catch
{
ShowMessage("Ой, сломалося, предположение такое-то");
}
Сразу будет видно, где и что.

Такое впечатление, что наши топовые разработчики отстали на лет 10.
Извиняюсь если резко, но это так.

P.S. Чтобы не быть голословным, выложу наколенный вариант утильки на Delphi, которую писАл, когда github глючил, для скачивания сорцов Карателя по HTTP. Заметьте, что даже для такой фигни (грубо говоря) в коде везде используется try - finally. Привычка целостности.
Вообще можно любое оттуда скачать (c гитхаба), только адрес указать нужный.
Может кому-то пригодится: http://slil.ru/29416531

P.P.S. Вот чесслово есть желание переписать всё ядро на Delphi. Таких проблем там в принципе быть не может. И ASM код лучше и быстрее. И все указатели защищены. И баги ловятся с полпинка. Но это утопия к сожалению ...

Последний раз редактировалось xex; 01.07.2010 в 08:37.
xex вне форума   Ответить с цитированием