Not a kernel guy

… in the Windows kernel team

Thursday, January 31, 2008

Возвращаясь к теме про фаззеры.

Вот код, которым я пользуюсь для написания стресс тестов и фаззеров в своих проектах. Класс EntropyGenerator – обертка вокруг генератора случайных чисел.

(more…)

Posted at 10:02 pm •

Wednesday, January 30, 2008

Пикник на обочине или не ходите, дети, в DllMain гулять, а то ноги оторвёт.

Точка входа в DLL, так же как и точка входа в программу, - это очень специальное место. Зона. В Зоне действуют свои правила касательно того, что можно делать, а что делать нельзя. В Зоне можно инициализировать локальные данные DLL, можно создавать критические секции. В Зоне нельзя динамически загружать другие Модули или создавать потоки. Любой Сталкер знает и следует правилам Зоны. Все остальные рано или поздно нарушают правила и расплачиваются за это.

(more…)

Posted at 9:01 pm •

Friday, January 25, 2008

Отличный совет.

Только что получил чудесный комментарий в ответ на вопрос по хороший курс лекций по C# для непрограммиста. Орфография оригинала сохранена. Выделение моё:

Как насчёт того, чтобы почитать MSDN Library? :)Настоятельно рекомендую иметь у себя Offline версию. Ибо, ИМХО, удобнее. Очень актуальной будет ‘MSDN Library for Visual Studio 2008′:

http://www.microsoft.com/downloads/details.aspx?familyid=6FF3BC60-32C8-4C22-8591-A20BF8DFF1A2&displaylang=en

Если нет 2.0 Гб внешнего трафика - добро пожаловать в MSDN Online:

http://msdn2.microsoft.com/en-us/library/default.aspx

Тебя интересуют разделы "Getting Started with Visual C#", "C# Programming Guide", "Writing Applications with Visual C#" и "C# Reference".

Находятся:

- MSDN Online:

   "Development Tools and Languages" -> "Visual Studio 2008" -> "Visual Studio" -> "Visual C#"

- MSDN Offline:

   "Development Tools and Languages" -> "Visual Studio" -> "Visual C#"

Думаю, этого достаточно для начала. Потом путь твой будет лежать через тернии форумов и блогов.

"Проклятье! А я и не знал что это так сложно", - подумал Штирлитц.

С другой стороны, отличное настроение на весь день не каждый подарит. Спасибо большое. :-)

Posted at 3:53 pm •

Thursday, January 24, 2008

Хоть убейте меня – не понимаю!

… почему программисты, уже озаботившиеся ведением подробного журнала о том, что, где и когда случилось, никак не позаботились о том, чтобы фатальные ошибки находились сразу, простым текстовым поиском? Нет ну серьезно, уровни важности сообщений – есть. Вывод сообщения на каждый чих – есть. Ключевые слова (trace, info, warning & error) – есть! Но найти что именно сломалось в этом многомегабайтном монстре никак не получается. Сообщений об ошибках либо нет, либо их очень много и не по делу. Или еще хуже – финальное сообщение «Ой! Тут что-то поломалось!» есть, а чем оно вызвано – нет. Или есть, но пару десятков тысяч строк текста тому назад…

P.S. Agrhh!

Upd: Нашел что падало. Банальный Access Violation. В логах - ничего. От отладчика его тоже спрятали. Ууу! Сатрапы!

Posted at 10:28 am •

Sunday, January 20, 2008

Ведение дополнительных веток проекта отнюдь не бесплатно.

Структура репозитория исходников типичного проекта обычно представляет собой дерево:

Основная ветка, от которой отходят ветки подразделений, команд и отдельных подпроектов. Новый код или исправления старого производятся в самых нижних ветках. Затем накопленные изменения перебрасываются в ветку, находящуюся выше по иерархии. При этом код проходит различные проверки, начиная от банальной «проверки временем», до прогона через формальный набор тестов различной сложности. Сложность и скрупулёзность проверок, как правило, растет при приближении к основной ветке. По мере надобности, от основной ветки отпочковываются ветки выпускаемых версий. Именно в них вносятся последние исправления и собирается финальная сборка продукта.

(more…)

Posted at 5:30 pm •

Tuesday, January 15, 2008

Программирование для чайников.

А не подскажет ли кто хорошего курса уроков/лекций по Java или C#, подходящий для человека, далёкого от программирования? Рассказывающий об основах, безо всяких, лишних поначалу, подробностей и деталей. Можно по-русски, можно по-английски. Нам без разницы.

Posted at 10:29 pm •

Wednesday, January 9, 2008

Разрядность ключа «Image File Execution Options».

Ключ «Image File Execution Options» знаком, наверное, всем кто вынужден тратить много времени на отладку приложений. В частности, с его помощью можно указать системе всегда запускать определённый процесс под отладчиком. В этом же ключе утилита gflags.exe сохраняет выбранные отладочные опции и т.д. За подробностями рекомендую обратиться в Google, там есть много полезного.

(more…)

Posted at 11:34 pm •
Next Page »

Powered by WordPress