问题标签 [sysinternals]

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.

0 投票
1 回答
1096 浏览

windows - windows-kernel - 线程ID可以与进程ID相同吗?

嗨,我四处寻找这个问题的答案,我想知道是否有任何有 Windows 内部经验的人知道内核是否会分配与线程 ID 相同的进程 ID。我的意思是说我已经启动了一个进程 a.exe,它有一个 id 为 123 的线程。如果启动另一个进程,例如 b.exe,进程 id 会是 123 吗?换句话说,进程和线程标识符是否曾经发生冲突?谢谢

编辑:似乎进程和线程 id 来自名为 PspCidTable 的同一个池。一位名叫 Polynomial 的黑客审查了 windows nt 源代码,他说:

内核需要能够生成一系列在整个系统中唯一的进程和线程 ID。为了有效和安全地做到这一点,内核创建了一个可用于进程和线程的 ID 池。这个池在内核中被导出为一个名为 PspCidTable 的 HANDLE_TABLE 对象。在系统 Phase0 启动过程中,会调用 PspInitPhase0 函数。此函数使用 ExCreateHandleTable 创建一个 HANDLE_TABLE 对象,它会自动用 65536 个整体填充表。每个条目都是一个 16 位无符号整数(至少在 32 位操作系统上),存储在作为双向链表一部分的列表项对象中。进程 ID 和线程 ID 都来自 PspCidTable 池。

以上来源:你(可能)不了解 Windows 的东西

PspCidTable仍然存在于 Windows XP中,Windows 7 中的经验观察使我相信上述情况仍然正确。

0 投票
1 回答
299 浏览

debugging - 解决 Outlook 插件挂起的推荐方法是什么?

我有一个相当稳定且已使用多年的 Outlook 插件。在 citrix 机器环境中,如果打开,插件会导致 Outlook 挂起。日志没有多大帮助。如果我可以进行本机调试,我该如何解决这个问题?

0 投票
2 回答
14027 浏览

windows - 打开默认桌面注册表项时发生 BGInfo 错误

运行非常好的 BGInfo 工具来唯一识别各种计算机。但是,在尝试在 Windows 2008 Server R2 上运行时,我收到以下错误:

“打开默认桌面注册表项时发生错误。请确保当前用户有权更改登录桌面设置:访问被拒绝。”

该程序是通过放置在“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup”中的快捷方式启动的,该快捷方式是指定一个 .BGI 配置文件(而不是从注册表中读取设置)。关于为什么管理员以外的用户会发生错误的想法?

在更深入的层面上,我很好奇是否有人知道为什么 BGInfo 必须打开“默认桌面注册表项”以及它在“登录桌面设置”中更新的内容(引号中的短语取自原始错误消息)?

0 投票
2 回答
2031 浏览

c# - 通过指定/模拟另一个帐户来调用 Process.GetProcesses?

通过使用Process.GetProcesses,我们可以列出远程计算机中正在运行的进程,例如

但是,这似乎取决于我的帐户的许可。它抛出异常“无法连接到远程机器”。如果正在运行的用户无权访问远程计算机。我可以在检查进程时指定另一个由 .NET 使用的帐户,类似于PsList-u中的和-p开关吗?

0 投票
1 回答
1257 浏览

java - 在 java 中使用 dbgview

我正在编写 java 代码并想使用 dbgview (如果可能的话,还有 log4j )。通过搜索 log4j 的文档,似乎与 log4net 不同,log4j 不支持OutputDebugStringAppender将输出重定向到 dbgview 所听的内容。

如何创建一个 dbgview 可以解析的日志文件?如何从 java 将字符串发送到调试流?java是否有任何debugview替代方案?

我正在使用 eclipse、Windows 7 和最新的 log4j jar。

0 投票
1 回答
315 浏览

windows - 是否可以使用 AutoHotKey 运行 PSLoggedOn 并编辑流中的输出并返回结果?

我正在使用 AutoHotKey 构建一个使用 Sysinternals 工具 PSLoggedOn 的简单 GUI 工具。首先,如果我使用 run psloggedon.exe -l -x \\computername我根本没有得到任何输出。

所以我尝试run %ComSpec% /C psloggedon.exe -l -x 1> %Temp%\psloggedon.txt了,这给了我每个登录用户的域\用户名格式的输出。

就像我的第一个示例一样,我宁愿只运行 psloggedon 并获取输出,而不是首先打开命令提示符;这有可能吗?

无论哪种方式,我都想获取输出并避免将其写入文件,而是编辑输出流的输出以删除“域\”部分,然后只返回用户名。没有任何第三方软件如何做到这一点?

0 投票
0 回答
1833 浏览

windows-8 - Windows 8 与 sysinternals 桌面实用程序不兼容

在谷歌搜索了大约一个半小时后,我一直无法找到任何关于开始菜单和 Windows 8 风格应用程序如何在幕后工作的确切信息。我的印象是 Windows 8 风格的应用程序是创建全屏窗口的进程,而 Windows 8 开始菜单是由 explorer.exe 以几乎相同的方式创建的。但是 Windows 8 与 1.x 版 Sysinternal 的桌面实用程序之间存在不兼容,我不得不想象正在发生更复杂的事情。

但是,在 Spy++ 中,每个 Windows 8 样式应用程序都显示为带有样式集的标准窗口WS_EX_TOPMOST,假设它们没有什么特别之处,这是有道理的。关于开始菜单,它显示ImmersiveLauncher为由explorer.exe. 也许探索者已经厌恶拥有多个实例......

使用旧版本的 SysInternal 桌面,附加桌面中的资源管理器实例工作正常,但不加载固定项目,也不加载桌面背景和图标。

explorer.exe当多个副本在不同的桌面上运行时,是否有任何文档说明为什么 Windows 8 的行为与过去版本不同?

(这纯粹是出于好奇)

(是的,我知道有一个支持 Windows 8 的Desktops 2.0版本,但它使用了一些有趣的解决方法,比如在按下 windows 键时切换到原始桌面。它似乎也会在桌面时触发 explorer.exe 中的一些初始化首次加载,而不是简单地启动进程。)

0 投票
0 回答
1441 浏览

c++ - 如何捕获 OutputDebugString 消息

我有一个用Visual C++编写的应用程序,它使用 OutputDebugString() ( Win32 API) 来记录消息。输出是一个 DLL 文件。有没有可以捕获这些消息的方法或实用程序?

0 投票
3 回答
4552 浏览

c# - procdump 没有为 StackOverflow 异常创建转储

我正在尝试为 .Net C# 应用程序创建故障转储。为此,我编写了一个代码,该代码将使应用程序因 Stack Overflow 异常而崩溃:

我正在使用的 procdump 命令:

该应用程序正在按预期崩溃,并且 procdump 也正在捕获它。我可以在 procdump 监控控制台打印中看到。但是没有创建转储。

猜猜我没有使用正确的 procdump 命令。有人可以帮忙吗?

0 投票
2 回答
8568 浏览

c# - PsExec 打开我的远程机器进程,但应用程序没有启动

我正在使用此代码在远程机器中打开进程:

在远程机器上,我可以看到进程开始,但我看不到我的Application GUI.

双击exe将打开GUI

在此处输入图像描述