Process Monitor无法在64位计算机上启动


23

当我尝试从某些64位Windows 7计算机上的SysInternals启动进程监视器时,该进程无法启动。没有错误信息。我双击没有任何反应。其他64位Windows 7计算机也可以正常工作。有任何想法吗?


在有同样的问题的情况下,我可以使用命令行选项以32位模式运行Process Monitor procmon.exe /Run32。但是,它不支持在此模式下捕获。
jirkamat 2011年

@jirkamat在这里不起作用:(
Zero3 '16

Answers:


33

这是我发现的。32位Procmon.exe在其中包含64位exe作为二进制资源。当32位exe启动时,它将64位版本提取到名为Procmon64.exe的隐藏文件中,然后执行该文件。由于某些原因,此过程在某些Windows 7安装中失败。

我设法使用Visual Studio 2010提取了64位exe。

  1. 打开Visual Studio并使用File-> Open-> File ...菜单打开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
有趣的是,您找到了一种解决方法,但是我对您甚至需要这样做的原因更感兴趣。
Zoredache

我也想找到根本原因,但是调试没有符号的本机进程并不值得。特别是与OS集成在一起的Process Monitor。
瑞安·米歇拉

将ProcMon的64位exe提取为独立EXE并运行该exe为我解决了这个问题!ProcMon运行正常。
jirkamat 2011年

4
一次无聊地无聊地双击Procmon.exe时,我在Windows资源管理器中看到了隐藏的Procmon64.exe闪存。这给了我一个线索,即32位版本正在提取64位版本。按照这种预感,我破解了32位exe文件以检查其资源,发现其中一个文件比其他文件大几个数量级。我提取了资源并将其另存为.exe。瞧,那是缺少的64位进程监视器。
瑞安·米歇拉

1
由于我在Sysinternal的许多程序中都遇到了这个问题,特别是所有提取64位版本的程序(这是最近才突然发生的,无法运行其中任何一个程序,因为它表明目录不可写),但是如果您运行资源提取器并在任何sysinternal应用程序上单击“二进制资产”或任何东西,则基本上可以按大小排序,最大的是该应用程序。只需将其重命名为exe,然后就可以退出使用
mgrandi 2014年

5

让我吹牛。procmon.exe需要工作站服务才能启动。它使用它来枚举某些东西,如果没有它,它会默默地死掉。

这没有记录在任何地方,而且很虚假。


1
是! 就是这样!此答案需要转到顶部。
他本人

是的,为我做到了。3.10版不需要它,但是3.20版需要。你成功了;精神震撼。说“相当虚假”是一种轻描淡写的说法。我不想运行该服务,因此我对Mark感到非常失望。
Synetech

2

我知道这个线程已经有一段时间了,但是我最近才看到这个问题,并且我注意到另一个可能有用的因素。管理员权限。如果我以管理员身份登录并运行它,则可以正常运行。如果以非管理员身份登录并运行它,则会出现问题,并且提取的procmon-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以外的所有其他文件夹,然后重新启动。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.