Jul 12, 2012 · Comments
Отладка
Если вам вдруг зачем-то понадобилось проанализировать структуру минидампа не загружая его в отладчик, начните вот с этой статьи: http://moyix.blogspot.com/2008/05/parsing-windows-minidumps.html. Автор написал скрипт на Python (на основе Construct) для анализа дампов, который распознает все потоки, описанные на MSDN (а также недокументированный поток, хранящий информацию об описателях окон).
PS. Скрипт открывает дамп в текстовом режиме, что очевидно не будет работать на Windows. Чтобы этого не случилось, последняя строчка скипта должна выглядеть вот так:
Read On →
Jul 8, 2012 · Comments
Всякая всячина
Чистил телефон от фотографий. Нашел много интересного. В один прекрасный майский день детскую площадку в парке “Grass Lawn” оккупировали клоуны:
Read On →
Jun 26, 2012 · Comments
Всякая всячина
По радио уже пару месяцев (если не дольше) крутят “Little Talks” в исполнении Of monsters and men.
Там есть фраза:
This ship will carry our bodies safe to shore
Причем поется она так, что “this” присоединяется к предыдущей строчке, а “bodies safe to shore” - поется как отдельная строка. Так вот, когда эту песню начали крутить повсюду, мне на этой фразе постоянно слышалось очевидно неправильное “chip and caviar”. :-) В очередной раз, когда меня это безобразие окончательно достало и я уже собрался найти слова песни, по радио опять включили её и тут, наконец-то, до меня дошло, что первое слово - это ship.
Read On →
Jun 24, 2012 · Comments
ПрограммированиеWindows
Интересно, что существует около десятка способов сделать копию экрана в Windows. Программно, без привлечения нестандартного оборудования или сторонних библиотек. Статья “Screen recording with WDDM 1.2” описывает наиболее часто используемые:
GDI: GetDC(NULL), а затем BitBlt(), чтобы скопировать данные из видеопамяти в системную.
Direct3D: метод IDirect3DDevice9::GetFrontBufferData() позволяет скопировать содержимое видеопамяти в системный буфер.
Mirror Display Driver: позволяет напрямую перехватывать команды отрисовки.
OpenGL: дает прямой доступ к отображаемому буферу в видеопамяти.
Windows 8: появился специализированный интерфейс IDXGIOutputDuplication.
Read On →
Jun 17, 2012 · Comments
ИнтервьюПрограммирование
Мое интервью на OpenQuality.ru: http://experience.openquality.ru/alexey-pakhunov-interview/.
Jun 5, 2012 · Comments
ПрограммированиеSDKVisual Studio
Начну издалека. Мой любимый редактор кода на данный момент - Sublime Text 2. До него я пользовался Notepad2, Source Insight, Far (естественно после того, как появился Colorer). Что было до Far-а с Colorer-ом я уже не очень помню. Точно был Borland Pascal и Turbo C. Редактор кода Visual Studio в этом списке должен быть где-то между Borland-ом и Far-ом. Не помню, чтобы я пользовался им продолжительное время.
Отладчику из Visual Studio повезло чуть больше, так как правильно держать WinDbg я научился уже после замены Far-а на Notepad2 пополам с Source Insight. Остальной инструментарий из набора Visual Studio я использую не очень часто, особенно учитывая, что компилятор и другие инструменты все равно есть в отдельно стоящем SDK. Так и получается, что сама по себе Visual Studio мне в общем-то и не нужна.
Единственная неприятность заключается в том, что такая конфигурация (SDK есть, а Visual Studio нет) явно попадает в категорию экзотики. И, как следствие, не поддерживается и не тестируется как следует. Приходится самому.
Read On →
May 24, 2012 · Comments
Маленькие хитростиРеестрPowerShell
Некторые ключи реестра хранят дескрипторы безопасности (security descriptor) в двоичной форме (REG_BINARY). Пример - значение AccessPermission, которое устанавливает дескриптор безопасности COM сервера. Редактировать такой дескриптор - одно удовольствие. :-)
Read On →
May 10, 2012 · Comments
Windows Internals book
Ух ты, оказывается, первая часть 6-ой редакции Windows Internals вышла в марте: RTM’d today: Windows Internals, Sixth Edition, Part 1! В отличие от 5-ой редакции, в список резензентов которой я, можно сказать, попал просто за компанию - главным образом потому, что работал тогда в команде Window Kernel, в этот раз я ждал возможности поучаствовать в создании книги с нетерпением. В этот раз мне было что сказать - не даром я с Wow64 нянчился столько времени.
Read On →
May 4, 2012 · Comments
ИнструментыПрограммированиеWTF
По рассылке пришло описание бага ну просто феерической кавайности: http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file. Если вкраце, то присутсвие Sophos Antivirus на машине, заставляет Visual Studio делать полный билд вместо инкрементального. Почему? Потому что MSBuild полагает, что файл “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops” (который, понятно, ни к MSBuild, ни к собираемому проекту никак не относится) является вводом каждого target’а в проекте. По какой-то причине, этот файл обновляется очень часто, что и вызывает полную пересборку всего проекта. WTF?
Read On →
Apr 16, 2012 · Comments
Всякая всячина
Попался на глаза вот такой камень в парке:
Ну а что, пожарный гидрант в лесу (на приличном расстоянии от ближайшего дома) я уже видел. Электричество тоже провели. Осталось Wi-Fi организовать и эскалатор поставить.