问题标签 [process-explorer]
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.
.net - x64 .NET 编译/进程资源管理器怪异
如果我要说的任何内容毫无意义或忽略了一些显而易见的事情,我深表歉意——我对 CLR 内部的了解参差不齐。
如果我理解正确,那么如果我只是在 VS2K5 中为“AnyCPU”构建一个解决方案(或使用这些设置将 MSBuild 指向那个 .sln 文件),那么二进制文件只能编译到 MSIL。然后,如果在 32 位平台上执行,它们会被 JITted 到 32 位;如果在 x64 上执行,它们会被 JITted 到 64 位代码......对吗?
DLL 用于 Web 应用程序并托管在 W3WP.exe 进程中。Process Explorer 告诉我 W3WP 是一个 64 位进程。
但是,当我使用 Process Explorer 在 DLL 视图中检查其中一个 DLL 的属性时,它会显示:“图像:32 位”。是什么赋予了?
如果我对有问题的 dll 运行 corflags,它会告诉我: ILONLY 1 , 32BIT 0 but PE PE32 。我的理解是,这意味着是的,它只编译到 IL,不,它不限于 32 位或 64 位,但我并不完全清楚。PE32 标志是否与上述显示为 32 位有关?
.net - 在 Visual Studio 调试会话期间查找当前目录?
如何找到在 Visual Studio 调试器下运行的 .NET 应用程序的当前目录?
更新 1。需要明确的是:我不想更改代码或获取程序本身的信息 - 我只想获取有关当前正在调试的应用程序的信息。
在调试 .NET Windows 窗体应用程序(混合 VB.NET 和 C#)时,我不确定从哪个位置读取 XML 文件。我希望当前目录是应用程序的目录。但是,使用 Process Explorer,进程的属性会导致:
D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\
(右键单击进程/属性/选项卡图像/当前目录)。
将光标悬停在 Process Explorer 主视图中的进程上会显示不同的结果(请参见下面的屏幕截图):
D:\dproj\DTASCall\DTASuperCharge\bin\
什么是正确的?
独立启动应用程序会显示预期的当前目录,
D:\dproj\DTASCall\DTASuperCharge\bin\
在 Process Explorer 进程属性窗口中。
Process Explorer 的注释屏幕截图:
替代文字 http://www.pil.sdu.dk/1/until2039-12-31/PEdiscrepancy_2009-09-02.png
windows - 帮助我从 Process Explorer 了解这些内存统计信息
我正在尝试对我的大型财务计算运行所需的内存量进行非常粗略的测量。它是一个非常简单的命令行工具,可以为大量金融工具定价,然后打印出结果。
我决定使用 Process Explorer 查看程序的内存需求。有人可以解释一下屏幕截图中标记为 a 和 b 的两个字段之间的区别:
我目前认为:
标记为“a”(Peak Private Bytes)的值是在任何瞬间分配给进程的最大内存量(实际物理内存和磁盘上的虚拟内存)。
标记为“b”(Peal 工作集)的值是进程生命周期内任何时刻分配的最大物理内存量。
c++ - 查找启动进程的命令行选项
我试图找出如何做到这一点,我目前正在使用 CreateToolHelp32SnapShot 来获取正在运行的进程列表,并且我已经获得了当前正在运行的可执行文件的 FilePaths,但我需要能够找出使用了哪些命令行选项来启动该过程。
我知道它是可能的,因为您可以在 Process Explorer 上看到它,我尝试找到旧 Process Explorer 的源代码但没有运气:(
64-bit - 64 位 Windows 操作系统上 32 位进程内的 SetEnvironmentVariable
我最近发现了一个有趣的问题。在使用 SetEnvironmentVariable 时,我可以使用 Process Explorer 来获取新创建的环境变量。但是,当进程本身为 32 位且操作系统为 64 位时,Process Explorer(至少 v10 ~ 最新 v11.33)无法找到新变量。如果程序是本机 64 位的,那么一切正常,就像在 32 位操作系统上运行的 32 位进程一样。
SetEnvironmentVariable API 调用应该是成功的,因为返回值为 TRUE 并且调用 GetEnvironmentVariable 会返回正确的值。此外,如果您创建子进程,您可以使用 Process Explorer 在新进程中找到正确设置的变量。
如果这是 SysWOW64 的限制或 Process Explorer 中的错误,我不是。有谁知道?
而且,有什么方法可以正确获取 32 位环境变量?(例如,强制 Process Explorer 以 32 位模式运行,或其他一些工具)
要重现的示例源:
windows - Process Explorer 中的有限堆栈跟踪
我有一个在 Windows Server 2003 SP2 下运行的进程。当我想检查其中一个线程的堆栈跟踪时,它总是限制为 9 个条目。这些条目已正确解析(我有 PDB),但列表只是在中间切开。
你知道 Process Explorer 有什么限制吗?
c# - 我在进程资源管理器中看不到 COM DLL
我正在与我的 C# 项目中的自定义 COM 组件进行交互。
我用 IDisposable 包装它。
我面临的问题是,一旦程序运行,我在Process Explorer中看不到 CSCCOM 的 DLL。
c# - 如何找出我的应用程序中导致 I/O 的原因?
下午好,
我从几年前继承了一些 C# 代码。我已经将它重构为异步的。为了评估我的更改对 CPU 性能的影响,我使用Process Explorer大致观察了我的应用程序在做什么。令我惊讶的是,它似乎正在执行 Process Explorer 报告为 I/O 的操作。通常,这与磁盘 I/O 或网络 I/O 有关。根据我对代码的了解,我无法确定对这两个 I/O 源中的任何一个的显式调用。
我的问题是:识别哪段代码导致 I/O 的最佳方法是什么?我们使用JetBrains 的dotTrace来分析我们的应用程序,但据我所知,它只处理 CPU 和内存性能。
在此先感谢您的任何指点。
问候,
埃里克。
c# - 是否可以使用进程资源管理器来终止 Visual Studio 中生成的递归循环?
有时我错误地编码了一些东西,我创建了一个进入一个永无止境的循环的线程。这意味着我必须关闭整个视觉工作室。是否可以使用进程资源管理器检查 Visual Studio 进程并关闭正在杀死 CPU 的线程?
皮特