如何查看哪个应用程序正在从特定内存地址运行?

如何查看哪个应用程序正在从特定内存地址运行?

我最近升级到了 Windows 10,然后弹出一个 NBCore.exe 异常框,上面写着:

应用程序中位于位置 0x000000006F5AD67D 的位置发生了异常未知的软件异常 0x40000015。

似乎一个很好的起点是找出哪个应用程序正在使用 0x000000006F5AD67D,但我还没有找到在哪里查找。

我查看了任务管理器,它们给出了 ID,但没有给出内存地址。我还检查了系统信息(信息系统),但物理内存位置似乎也不在其中。我下载并运行了一个堆内存工具,但正在运行的进程与该地址不一致。

还有其他提示/建议可以查看哪个程序正在使用该内存位置吗?错误消息多次出现,错误中出现相同的内存位置,因此似乎指向一个可疑应用程序。

答案1

从你的问题来看,我认为有问题的程序是 NBCore.exe。这是光学媒体创建应用程序 Nero 的一部分。

更一般地讲:试图从这样的地址识别特定程序是没有意义的。您在这些消息中看到的地址总是虚拟的地址。每个进程都会获得一个新的用户模式虚拟地址空间实例,该实例从 0 到 0x7FFF FFFFFFFF(在现代 x64 Windows 系统上)。因此地址 0x00000000 6F5AD67D 不特定于任何进程;每一个进程包含该地址的一个实例。(就像同一个七位电话号码可以存在于该国的每个区号中一样。)

正式的说法是,该范围内的地址是隐含限定通过当前进程上下文。

当然,任何给定地址是否实际在任何给定进程中使用取决于该进程正在做什么。

sysinternals 的工具VMmap可让您查看单个进程并了解其如何使用地址空间。如果您使用它查看一个进程,然后再查看另一个进程,您将看到相同的地址被反复使用,如此处所述。

相关内容