Archive for October 2008

Про ogg/theora проигрыватель дальше.

Всё таки продолжается разработка этой казалось бы простой вещи.

Continue reading ‘Про ogg/theora проигрыватель дальше.’ »

Рецепты отладки. Зависший 3D редактор.

Несмотря на то, что правильные пацаны советуют очень правильный тулсет, а другие правильные пацаны смотрят на это крайне позитивно, я продолжаю трахаться с разными неприкольными ситуациями, которые вряд ли отловит PREfast. Поэтому пользуясь случаем, отвлекусь от избитой темы ошибок в памяти и переключусь на ошибки другого рода – это нарушения последовательности вызова функций внешнего middleware. Уважающие себя пакеты предпочитают проверять состояние объекта или модуля перед вызовом функций и информировать програмистов о нарушениях логики. Неуважающие себя пакеты такими мелочами не занимаются, в крайнем случае пишут в документации что-то типа “никакие функции библиотеки не могут быть вызваны до вызова xxx() или после вызова yyy()).

Исходные данные: имеется мощный пакет моделирования под названием XSI (который кстати теперь тоже аутодесковский). Имеется плагин к нему. При выгрузке плагина XSI зависает вусмерть (а плагин загружается и выгружается довольно регулярно – на каждый “чих”).

Continue reading ‘Рецепты отладки. Зависший 3D редактор.’ »

Best tools noone uses: PREfast

Начитавшись про правильные практики, наконец заставил себя ознакомиться со словом PREfast и вообще статическими анализаторами.

В отличие от других тулзов из сериала, про которые просто мало кто слышал – PREfast вдобавок неплохо спрятан, и, мнэээ, несколько неказуален в применении. Поэтому вдобавок расскажу – где брать, как применять.
Continue reading ‘Best tools noone uses: PREfast’ »

Рецепты отладки. Падение на ровном месте.

В развитие рассказа CEMEH про страшный олдскульный WIC хочу рассказать историю, которая смогла успешно разрешиться только благодаря точу, что традиционные методы отладки были совмещены с хорошим пониманием принципов работы целевой платформы, роль которой успешно исполнил интеловский процессор, работающий в защищенном режиме под управлением операционной системы MS Windows.

В самом начале XXI века, во времена разработки “Недетских Гонок”, было зафиксировано странное падение, которое долго не удавалось исправить. Падение проявлялось только в Release конфигурации, проявлялось крайне редко, и, как тогда казалось, было просто на ровном месте.

Continue reading ‘Рецепты отладки. Падение на ровном месте.’ »

На что был похож код в Imaging

Чтобы год с лишним в Imaging не прошли даром, я попробую записать если не “what did we learn from it?” (the obvious answer is not to do it again), то хотя бы уж “what the fuck it is we did”. (это если что цитаты).
Забавно, что почти год спустя про WIC все еще спрашивают и даже за дизайн приходится чуть спорить. Кто бы со мной столько про DX разговаривал.

Continue reading ‘На что был похож код в Imaging’ »

Рецепты отладки. Компилятор или программист?

При отладке этого бага в какой-то момент времени у меня даже появилась уверенность, что я имею дело с багом компилятора, а не с программистской ошибкой. Тем не менее, бага была найдена, работоспособность программы в Release конфигурации восстановлена, а репутация компилятора MSVC осталась {пока что} “непокобелимой”.

Continue reading ‘Рецепты отладки. Компилятор или программист?’ »

Рецепты отладки. Потеряный малок.

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

Начиналась эта история с обычного, не предвещавшего ничего плохого, запуска игры на PS2. Однако после первого заезда и попытки перезагрузки уровня обнаружилось, что оперативная память кончилась. Так началась еще одна длительная история отладки приложения.

Continue reading ‘Рецепты отладки. Потеряный малок.’ »

Террейн – базовые фичи и проблемы

Прежде всего, даже беглый взгляд на vterrain.org показывает, как страшно далеки их проблемы от народа.

 У народа совсем более другие проблемы. Особенно у того народа, который делает не авиасимы со спутниковой картой, а что-то более другое. 

Continue reading ‘Террейн – базовые фичи и проблемы’ »

Рецепты отладки. Четырехмесячный дебаг.

Еще один из случаев, произошедших достаточно давно, не может использоваться как иллюстрация того, как можно быстро и эффективно поймать ошибку, но, тем не менее, является хороший примером с далеко идущими последствиями. Речь идет о четырехмесячном и неудачном дебаггинге.

Continue reading ‘Рецепты отладки. Четырехмесячный дебаг.’ »