Текущий архив: 2007.12.09;
Скачать: CL | DM;
Вниз
Проект вылетает Найти похожие ветки
← →
@!!ex © (2007-11-12 14:42) [0]без сообщений и эксцепшенов.
Можно ли както поймать код во время которого проект рушится?
← →
Котик Б (2007-11-12 14:43) [1]Что-то у Вас целый день всё неблагополучно... Может отпуск взять ?
← →
@!!ex © (2007-11-12 14:44) [2]> [1] Котик Б (12.11.07 14:43)
Я увольняюсь по завершению этого проекта.
ТОгда и отдохну.
← →
Сергей М. © (2007-11-12 14:45) [3]В syslog загляни для начала.
← →
@!!ex © (2007-11-12 14:46) [4]> [3] Сергей М. © (12.11.07 14:45)
??
Где его взять????
← →
Джо © (2007-11-12 14:47) [5]> [4] @!!ex © (12.11.07 14:46)
> > [3] Сергей М. © (12.11.07 14:45)
>
> ??
> Где его взять????
Системный журнал событий.
← →
Котик Б (2007-11-12 14:48) [6]Кстати - а с чего вы взяли что он рушиться ? Может это его нормальное поведение :)
← →
@!!ex © (2007-11-12 14:49) [7]> [6] Котик Б (12.11.07 14:48)
На данный момент - это его нормальное поведение. А мне надо сделать, чтобы у него другое нормальное поведение было.
← →
Skyle © (2007-11-12 14:50) [8]Может компоненты сносить по одному?
Рушится при открытии?
← →
@!!ex © (2007-11-12 14:54) [9]> Может компоненты сносить по одному?
Компонентов нету... WinAPI.
> Рушится при открытии?
В процессе работы...
P.S.
Закрыл AQTime запустил из под дельфи.... прошел миссию... ничего не упало... совпадение? или это AQTime перехватывал контроль за приложением и рушил его? ибо первый раз миссию прошел без вылета...
← →
vpbar © (2007-11-12 14:55) [10]можно в отладке в olly например или в айсе и вперед
← →
@!!ex © (2007-11-12 14:58) [11]> [10] vpbar © (12.11.07 14:55)
SoftIce стоит как краыло от самолета.
Olly вроде тоже не бесплатный, хотя я о нем нислышал никогда...
← →
@!!ex © (2007-11-12 14:59) [12]olly можно юзать бесплатно.. заценим. :)
← →
Rouse_ © (2007-11-12 15:18) [13]А стандартный отладчик уже вообще не в фаворе? :)
← →
@!!ex © (2007-11-12 15:20) [14]> [13] Rouse_ © (12.11.07 15:18)
Он не показывает НИЧЕГО.
просто проект падает и все...
← →
Anatoly Podgoretsky © (2007-11-12 15:52) [15]> @!!ex (12.11.2007 14:42:00) [0]
Использовал except end;
← →
Anatoly Podgoretsky © (2007-11-12 15:52) [16]> @!!ex (12.11.2007 14:49:07) [7]
Чтобы вылетал с криком?
← →
@!!ex © (2007-11-12 15:55) [17]> [16] Anatoly Podgoretsky © (12.11.07 15:52)
Да, как вариант. Если я хотя бы буду занть что заставляет его вылетать, смогу исправить.
exceptn end; использовал. но в дельфе у меня установлено орать обо всех эксцепшенах.
А сейчас я наблюдаю только падение приложения(правда дельфи сейчас реагирует), далее курсор выполения перемещается на последнии строчки приложения, которые выполняются при закрытии и все..
← →
@!!ex © (2007-11-12 15:56) [18]Сделал Так:
try
SndLib.UpdatePlayerPosition;
except
writeln("SndLib.UpdatePlayerPosition;");
end;
try
WorldMap.Update(dt);
except
writeln("WorldMap.Update(dt);");
end;
try
Gamer.Update(dt);
except
writeln("Gamer.Update(dt);");
end;
try
Billboards.Update(dt);
except
writeln("Billboards.Update(dt);");
end;
try
Effects.Update(dt);
except
writeln("Effects.Update(dt);");
end;
Консоль пустая...
← →
vpbar © (2007-11-12 16:01) [19]madExcept не пробовал?
← →
Anatoly Podgoretsky © (2007-11-12 16:09) [20]> @!!ex (12.11.2007 15:55:17) [17]
Явно похоже на маскирование ошибок, тем более что WinAPI
← →
Anatoly Podgoretsky © (2007-11-12 16:10) [21]> @!!ex (12.11.2007 15:56:18) [18]
Раскручивать надо раньше, на самом стартовом уровне, возможно инициализация библиотек и модулей.
← →
Rouse_ © (2007-11-12 16:23) [22]
> @!!ex © (12.11.07 15:20) [14]
> > [13] Rouse_ © (12.11.07 15:18)
>
> Он не показывает НИЧЕГО.
> просто проект падает и все...
Вот прямо не одной функции не вызвалось - но уже все упало? Или все-же что-то успело отработать?
← →
Сергей Суровцев © (2007-11-12 16:27) [23]Банально анализировать разницу в состоянии "не вылетало" и "стало вылетать". И что в этот период было сделано. Отключить все и подключать по шагам.
← →
@!!ex © (2007-11-12 16:31) [24]> [20] Anatoly Podgoretsky © (12.11.07 16:09)
А при чем тут WinAPI?
← →
oldman © (2007-11-12 16:36) [25]
> Можно ли както поймать код во время которого проект рушится?
А что, проект рушится в разных точках?
Или таки во время какого-то действия пользователя?
Или действия какой-то процедуры?
← →
@!!ex © (2007-11-12 16:40) [26]> [25] oldman © (12.11.07 16:36)
Да не могу я визуально отследить где он рушится.
проект реалтаймовый, сейчас около 100 кадров в секунду.
Полсотни объектов на мире(не считая спрайтов). Я более чем уверен, что идет обращение к какому то объекту, который уже помер.
Но отследить это не могу.
← →
Anatoly Podgoretsky © (2007-11-12 16:42) [27]
> А при чем тут WinAPI?
Ты не помнишь, что ты в [9] написал
← →
@!!ex © (2007-11-12 16:49) [28]> [27] Anatoly Podgoretsky © (12.11.07 16:42)
Помню. Что все написано на WinAPI И нет формы и компонентов...
и?
← →
Rouse_ © (2007-11-12 17:04) [29]
> Помню. Что все написано на WinAPI И нет формы и компонентов.
> и?
Что и? До RegisterClassEx доходит?
← →
@!!ex © (2007-11-12 17:07) [30]> [29] Rouse_ © (12.11.07 17:04)
Да. В процессе все падает.
← →
@!!ex © (2007-11-12 17:08) [31]Есть массив. В нем хранятся игровые объекты.
Обновление вот так вот сделано:procedure TObjectsControl.Update(dt: integer);
var
Index:integer;
begin
for Index:=0 to count-1 do
Items[Index].Update(dt);
for Index:=0 to count-1 do
if Items[Index].Dead and (Items[Index].useCount<=0) then begin
Items[Index].Free;
Items[Index]:=Items[Count-1];
dec(Count);
end;
end;
Объекты массива меняются только здесь.
В один прекрасный момент некоторые элементы массива становятся невалидными...
Можно как то этот момент отследить?
← →
ANTPro © (2007-11-12 17:08) [32]> [30] @!!ex © (12.11.07 17:07)
FastMM — тоже молчит?
← →
@!!ex © (2007-11-12 17:13) [33]Посмотрел только что код еще раз...
ведь нельзя же использовать for там, где меняется количество итерируемых элементов??
У меня везде while.. И только здесь for... из-за этого может падать?
Правда падает в одном случае из примерно 80000...
← →
Rouse_ © (2007-11-12 17:13) [34]
> Да. В процессе все падает.
И неуж-то ты не можешь идентифицировать код, на котором все падает, раз уж хоть нормально запустилось? Отключай сначала все - а потом по тихоньку подключай различные куски... По другому тебе смогут ответить, что "падает где-то там..."
> Можно как то этот момент отследить?
Можно, ведя детальный лог добавления/изменения/удаления...
← →
homm © (2007-11-12 17:17) [35]> [33] @!!ex © (12.11.07 17:13)
> У меня везде while.. И только здесь for... из-за этого может
> падать?
да
← →
J_f_S (2007-11-12 17:22) [36]Мне кажется, или в треде ни разу не прозвучало слово "лог"?
← →
@!!ex © (2007-11-12 17:24) [37]> [36] J_f_S (12.11.07 17:22)
Ну и как вы собираетесь логировать реалтаймовые события?
Я уже говорил. 100 кадров в секунду. Пол сотни объектов на мире.
Если я буду все писать в файл, я один тест буду проводиьт пару часов.
Сейчас нужная инфа выводится в отдельную консольку.
В [18] посте есть часть вывода.
← →
Шпионер (2007-11-12 17:26) [38]А разве так можно?
for Index:=0 to count-1 do
if <...> then begin
dec(Count);
end;
end;
← →
homm © (2007-11-12 17:27) [39]> [38] Шпионер (12.11.07 17:26)
да нет конечно
← →
homm © (2007-11-12 17:28) [40]> да нет конечно
велик и могучь русский язык, фраза состояшая из одного утверждения, одного отрицания и одного уверенного утверждения означает… отрицание %)
Страницы: 1 2 вся ветка
Текущий архив: 2007.12.09;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.018 c