问题标签 [procmon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 正如进程监视器所观察到的,写入 FileStream 的行为很奇怪
我正在使用 FileStream 写入文件,并使用Process Monitor观察底层系统调用。我在生产部署中遇到了一些文件锁定问题,因此我正在仔细查看细节。
此示例代码:
导致以下系统调用:
前三个 IO 调用是预期的(创建、写入、关闭),但该过程继续读取文件十几次并反复打开和关闭它。
我现在在 Win XP SP2 和 Win 2003 x64 上观察到了这种行为。但是,我家中的 Windows Vista 机器的行为与预期一样(仅前三行)。
关于为什么在非 Vista 运行时发生这种情况的任何线索?
prefetch - 在 Windows XP 中预取信息失败并中止我的应用程序的启动
我在 Windows XP SP3 机器上编译我的应用程序。当它编译时,我尝试启动它,Windows 回复我:
无法启动程序“xx”。此应用程序无法启动,因为应用程序配置不正确。检查清单文件是否存在可能的错误。重新安装应用程序可能会解决此问题。有关详细信息,请参阅应用程序事件日志。
尝试复制 DLL 文件没有帮助(如果需要,请参阅我之前的问题)。
我已经从 sysinternals 启动了进程监视器。
我试着在这里总结报告,虽然它不是很长。
该过程开始,然后是它的第一个线程。以下是调用:
我的 exe 文件的 QueryNameInformationFile() =>成功
加载我的 exe 文件的图像() =>成功
加载 ntdll.dll 的图像() =>成功
QueryNameInformationFile() 如果我的 exe 文件 =>成功
CreateFile()尝试在 C:\WINDOWS\Prefetch\blahbla.pf => NAME NOT FOUND
中创建它,
然后线程和进程退出。
我添加了对该文件夹具有完全控制权的用户 (C:\WINDOWS\prefetch),但没有帮助。如何让它发挥作用?我觉得如果我完成这一步,我的应用程序将按预期工作。
编辑:我添加有关错误的 procmon 详细信息:
18:13:40,4305346 xxx.exe 3172 CreateFile C:\WINDOWS\Prefetch\XXX.EXE-1FA9609A.pf NAME NOT FOUND 所需访问:通用读取,处置:打开,选项:同步 IO 非警报,属性:n /a,ShareMode:无,AllocationSize:n/a
synchronization - 7z 文件管理器为外部编辑器删除临时文件
我在工作中使用了很多来自portableapps.com 的应用程序,尤其是7-zip 便携版和gVim 便携版。
我已将 7zip 的外部编辑器设置为 gVimPortable.exe。在编辑不在存档或压缩文件中的文件时,它可以完美运行……但在编辑存档或压缩文件中的文件时,它会严重失败。
发生的情况是 7-zip 便携式将文件存储到一个临时位置,启动 gvimportable.exe,它分叉并打开 gvim.exe。
在 gvimportable.exe 退出一段时间后,我可以在 Procmon 中看到 7zFM.exe 执行“SetDispositionInformationFile”(详细信息:“Delete: True”)删除临时文件,当 gvim 尝试打开它时,该文件已被删除。
请注意,如果我将编辑器设置为 NotepadPlusPlusportable.exe,它可以完美运行。
你对这种行为有解释吗?
请注意-f
gVimPortable.exe 的选项不能解决我的问题。
filesystems - 像 Sysinternals 的 ProcMon 一样监控 IO
Sysinternals 的 Process Monitor 如何像它一样监控文件 IO 活动?如果启用高级信息,您可以看到以前显示为 CreateFile 的调用现在显示为 IRP_MJ_CREATE,这表明它挂钩了一些相当低级的东西。有谁知道它的挂钩/它是如何工作的?
python - *.pyd 文件无法加载,但 DependancyWalker 干净,ProcMon 显示它已加载
我正在尝试使用 Python 加载 *.pyd,但我收到众所周知的“导入错误:DLL 加载失败:找不到指定的过程”。错误。
我已经做了以下事情:
1.) 使用 Dependency Walker 调查 *.pyd。GPSVC.DLL 和 IESHIMS.DLL 出现丢失,但延迟加载,IEFRAME.DLL 也出现丢失导出,但也延迟加载。我的理解是这些没有被使用,并且无论如何都是延迟加载,所以它们不应该是问题。
2.) 在 python 命令窗口中的 foo.pyd 上做了一个“import foo”,ProcMon 监视。ProcMon 在“foo.pyd”上显示事件“LoadImage”,结果为 SUCCESS。
这似乎暗示 *.pyd 文件已正确加载。
所以我错过了什么。我的 Windows 诊断程序告诉我一切都很好,但 python 告诉我无法加载这个东西(通常是由于缺少 dll 或符号)。
想法?
谢谢!
c - 使用 Sysinternals.ProcMon 捕获 C 运行时函数调用
有没有办法让_stat()
ProcMon 中捕获的 C 运行时函数
asp.net - 进程监视器显示有效 URL 的“找不到路径”
我们使用“进程监视器”(ProcMon) 来监视运行 IIS7 的 Windows Server 2008 上的 w3wc.exe 进程。我们注意到,对完全合法 url 的请求仍然会导致 ProcMon 中出现“PATH NOT FOUND”条目。
例如,我们在 web.config 中配置了一个处理程序,例如:
对此处理程序的请求,例如。“http://localhost/id_123/ImageVaultHandler.aspx”将按预期返回图像,但是当您在 ProcMon 中分析请求时,w3wc.exe 进程似乎未能成功在我的 Web 目录中搜索具有相同路径的物理文件.
这种行为是设计使然吗?或者我们错过了什么,使用的应用程序池配置为在“集成模式”下运行。
java - 我可以在我的 java 代码中读取 htop 输出吗?
我需要阅读有关在我的服务器中运行的各种进程的信息以及某些参数的值。我试图在 Ubuntu 11.10 上使用 Apache 服务器。在终端中使用 htop 我可以看到进程和变量值。我尝试通过管道将输出重定向到文本文件,但没有帮助。您能否通过说明如何通过 java 代码读取其输出来提供帮助。我是java新手,帮帮我。
hook - Procmon 如何在 64 位 Vista+ 上工作?
我了解较旧的 Procmon 及其前身(filemon、regmon 等)使用虚拟驱动程序来挂钩内核。但是,Patchguard 在 64 位 Vista+ 上阻止 SSDT 挂钩等。
据我了解,Procmon 现在使用 minifilter 驱动程序进行文件 IO 监控,使用 ETW 进行网络监控。但是,我不清楚它如何监控注册表访问和进程/图像/线程事件?它是否也对这些使用 ETW?