понедельник, 19 марта 2012 г.

VMware: ultra quick memory dump

Проблема

Необходимо создать дамп памяти (для отладки) виртуальной машины в определённый момент времени.
Но, например, в виртуальной машине не настроен отладчик ядра или же отладка происходит через виртуальный COM порт (создание полного дампа может занять немало времени).

Решение
  1. Создать снимок виртуальной машины.
  2. Найти имя файла снимка в рабочей директории ВМ.
  3. Используя утилиту vmss2core.exe, конвертировать снимок в формат WinDbg crash dump (конвертация происходит очень быстро). Например:
    "%ProgramFiles(x86)%\VMware\VMware Workstation\vmss2core.exe" –W "WinXp-Snapshot2.vmsn" "WinXp-Snapshot2.vmem"
    
  4. Результат конвертации будет в файле memory.dmp

Дополнительная информация

Debugging Virtual Machines with the Checkpoint to Core Tool
vmss2core - Failed to locate memory

вторник, 6 марта 2012 г.

WDK: RTL_INIT_OBJECT_ATTRIBUTES

Недавно узнал что в WDK есть макрос RTL_INIT_OBJECT_ATTRIBUTES, позволяющий совместить объявление переменной типа OBJECT_ATTRIBUTES и её инициализацию. В сочетании с макросом RTL_CONSTANT_STRING (для объявления и инициализации переменной типа UNICODE_STRING) повышает читаемость кода.

UNICODE_STRING someUnicodeString = RTL_CONSTANT_STRING(L"\\SystemRoot");

OBJECT_ATTRIBUTES objAttr = RTL_INIT_OBJECT_ATTRIBUTES(&someUnicodeString, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE);

пятница, 3 февраля 2012 г.

Link Shell Extension

Link Shell Extension

Поддержка создания Hard Links, Junctions и Symbolic Links в файловой системе NTFS существует довольно давно. Но довольно мало пристойных средств для работы с данными возможностями файловой системы.

На мой взгляд, одним из лучших является Link Shell Extension для Windows Explorer. Расширение имеет очень грамотный и продуманный интерфейс. Для существующих жестких и символьных ссылок отображается оверлейная иконка. При просмотре свойств файлов и каталогов с существующими ссылками появляется дополнительная закладка. Многоязычный интерфейс. Поддерживается, можно сказать, вся линейка операционных систем Windows NT4/2000/XP/2003/2008/Vista/Seven 32bit/64bit. Регулярно обновляется.

пятница, 20 января 2012 г.

Visual Studio: No Files Were Found To Look In. Find Was Stopped In Progress

Проблема

При использовании Find In Files в окне результатов поиска появляется сообщение:
"No Files Were Found To Look In. Find Was Stopped In Progress"
Закрытие-открытие IDE и/или перезагрузка компьютера проблему не решает.

Решение

Как выяснилось это баг Visual Studio! Притом достаточно старый. Для решения проблемы нужно нажать комбинацию клавиш Ctrl+Scroll Lock.

Рабочая среда: Visual Studio 2005