4

Я пытаюсь отследить утечку памяти в lsass.exe следуя руководства статьи 1 и Статьи 2 , среди других. Я прошел настройку gflags для lsass.exe , перезагрузился и обнаружил, что он имеет идентификатор процесса 804. Теперь я запускаю командную строку:

umdh -p:804 -f:mylog.txt

Это немедленно выплевывает ошибку:

Ошибка: не удалось перечислить модули процесса.

И в файле журнала нет ничего полезного:

// 
// UMDH: version 6.2.9200.16384: Logtime 2013-05-16 14:49 - Machine=SHAUL-WORK-LT - > PID=804
// 
// Debug privilege has been enabled.
// OS version 6.1 Service Pack 1
// Umdh OS version 6.2
// 
// Preparing to dump heap allocations.
// Only allocations for which the heap manager collected a stack are dumped. Allocations whithout stack are ignored.
// The stack trace for an allocation is dumped as a list of addresses. They will be resolved to function names at compare time.
// 
// Connecting to process 804 ...
// Process 804 opened handle=48.

Куда мне идти отсюда?

3 ответа3

2

Низкоуровневые инструменты, такие как UDMH, обычно тесно связаны с ОС. Кажется, что ваш UDMH из другой ОС:

// OS version 6.1 Service Pack 1     <<<< 6.1 = Windows 7
// Umdh OS version 6.2               <<<< 6.2 = Windows 8

Попробуйте получить UDMH, соответствующий вашему Windows 7 (6.1.7600).

2

Насколько я вижу, lsass.exe в Windows 7 не пропускает память.

Цитируемая вами статья относится к Windows Server 2003 / Vista, где lsass.exe и csrss.exe просочились из памяти как сумасшедшие и безостановочно получили доступ к диску, поэтому были некоторые из основных причин того, что Vista была такой неудачей (или меньшим успехом). чем Windows 7). Эти ошибки были исправлены в Windows 7 (но никогда в Vista - не спрашивайте меня, почему).

Если ваша версия lsass.exe действительно приводит к утечке памяти в больших масштабах, я бы проверил ваш компьютер с помощью нескольких известных антивирусных продуктов, а также запустил sfc /scannow.

Что касается umdh (даже если отладка lsass.exe и не является действительно необходимой), убедитесь, что вы установили последнюю версию Windows SDK и средства отладки для Windows.

Если umdh по-прежнему не работает с этой последней версией (или, как было отмечено @Jonathan с версией Windows 7), и если вы запускаете его в командной строке (cmd), которая называется "Запуск от имени администратора" (требуется, даже если вы администратор), то Microsoft, возможно, заблокировала возможность отслеживания важных для системы процессов, таких как lsass.

Последней попыткой может быть использование другой учетной записи привилегированного пользователя с помощью DevxExec (скачать):

devxexec.exe /user:TrustedInstaller "umdh -p:804 -f:mylog.txt"
1

На вашем месте я бы сделал следующее:

Загрузите обозреватель процессов здесь http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .