Не вдалося запустити Монітор процесів на 64-бітному комп'ютері


23

Коли я намагаюся запустити Monitor Monitor з SysInternals на деяких 64-бітних машинах Windows 7, процес не запускається. Немає повідомлення про помилку Я двічі клацну, і нічого не відбувається. Інші 64-бітні комп'ютери з Windows 7 працюють нормально. Якісь ідеї?


У мене така ж проблема, і я можу запустити Монітор процесів у 32-бітовому режимі з опцією командного рядка procmon.exe /Run32. Однак він не підтримує захоплення в цьому режимі.
jirkamat

@jirkamat Тут не працює :(
Zero3

Відповіді:


33

Ось що я знайшов. 32-бітний Procmon.exe містить 64-бітний exe всередині нього як бінарний ресурс. Коли 32-бітний EXE запускається, він витягує 64-бітну версію з прихованого файлу під назвою Procmon64.exe, а потім виконує це. З деяких причин цей процес не вдається встановити деякі Windows 7.

Мені вдалося витягти 64-бітний exe за допомогою Visual Studio 2010.

  1. Відкрийте Visual Studio і відкрийте файл Procmon.exe за допомогою меню Файл-> Відкрити-> Файл ...
  2. У дереві ресурсів розгорніть вузол «BINRES»
  3. Клацніть правою кнопкою миші на вузлі 1308 і виберіть Експорт ...
  4. Назвіть експортований ресурс Procmon-64.exe та збережіть
  5. Запустіть витягнутий exe

Не називайте витягнутий exe Procmon64.exe (без дефісу), оскільки 32-бітний Procmon спробує видалити його, якщо отримає можливість.

Якщо у вас немає Visual Studio, використовуйте витяжну систему Windows, наприклад, ResourcesExtract - http://www.nirsoft.net/utils/resources_extract.html


2
Цікаво, що ви знайшли обхід, але я був би набагато більше зацікавлений у тому, чому вам навіть потрібно це робити.
Зоредаче

Я також хотів би знайти першопричину, але налагодження нативного процесу без символів просто не варте зусиль. Особливо такий, який інтегрований в ОС, як Process Monitor.
Ryan Michela

Витягнення 64-бітового exe ProcMon в автономний EXE і запуск цього EXE вирішує цю проблему для мене! ProcMon працює нормально.
джиркамат

4
Одного разу, нерозумно двічі клацнувши на Procmon.exe, знову і знову розчаровуючись, я побачив прихований спалах Procmon64.exe у Windows Explorer. Це дало мені зрозуміти, що 64-бітна версія видобувається 32-бітовою версією. Після цього обдумування мене змусило зламати 32-бітний exe, щоб вивчити його ресурси, і я виявив, що на порядок більше, ніж інші. Я витягнув ресурс і зберег його як .exe. Ось, це був зниклий 64-бітний монітор процесів.
Райан Мікела

1
Оскільки у мене є ця проблема з багатьма програмами Sysinternal, зокрема з усіма тими, хто витягує 64-бітну версію (це раптом трапилося зовсім недавно, не можна запустити жодну з них, тому що вона каже, що каталог не піддається запису), але якщо ви запустите витяжку ресурсів і натисніть "двійкові активи" або що завгодно в будь-якому із додатків sysinternal, ви можете в основному сортувати за розміром, і найбільшим буде додаток. Просто перейменуйте його на exe, і ви перейдете ~
mgrandi

5

Дозвольте мені підірвати ваш розум. procmon.exe ПОТРІБНО Запускається служба робочої станції для запуску. Він використовує це для перерахування чогось і без нього мовчки помре.

Це ніде не зафіксовано документально і досить хибно.


1
Так! Це було все! Цю відповідь потрібно пройти до вершини.
сам

Так, це зробили для мене. Версія 3.10 цього не потребує, але версія 3.20. Ви досягли успіху; розум здутий. Говорячи, що "досить хитро", це величезне заниження. У мене немає бажання керувати цією службою, тому я сильно розчарований у Марку.
Synetech

2

Я знаю, що ця тема була певний час, але я недавно бачив цю проблему і помітив ще один фактор, який може бути корисним. Право адміністратора. Якщо я ввійду як адміністратор і запускаю його, він працює чудово. Якщо увійти як не адміністратор і запустити його, проблема трапиться, і вилучена прок-64 показує ту ж проблему.


2

Мені вдалося витягнути ProcMon64.exe з наступним скриптом Perl, розміщеним та виконаним у папці temp.

use File::Copy;

if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{  for($i=1;$i<1000;$i++)
    {if(-e 'ProcMon64.exe')
      { copy('ProcMon64.exe',$i.'.exe')}
    }
}

Після декількох виконання він створює десятки копій, які всі однакові (той самий CRC32)



0

Я вирішив цю проблему, повторно перевіривши свої змінні середовища. Ви можете перевірити, %TEMP%чи раніше ви щось додавали всередину. Видаліть будь-які інші папки, крім Windows temp, а потім перезавантажте.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.