在特定进程停止之前获取其内存消耗的历史数据

To get historical data of memory consumption by a particular process before it gets stopped

我有一个进程(它是一个 windows 服务)。它抛出 bad_alloc 异常并停止。后来它由另一个监视工具启动。我想在它停止之前查看特定于该进程的内存相关详细信息。

Process explorer、VMmap 等工具可用于 运行 个进程。但是,当我的进程停止时,我们会丢失这里的数据。有没有办法记录这个过程的数据直到它停止/直到某个时间段?

我在 VMmap 中尝试了 2 个选项。

(a) 查看 运行 进程选项工作正常,但它需要来自用户的常规 'Refresh' 和在刷新期间如果进程是 stopped/restarted(现在它是新的 PID)之前的数据丢失了。

(b) 启动并跟踪一个新进程(这里我有每秒自动刷新的选项)-但它无法启动我的 windows 服务。

请问还有其他方法吗?

为此,我参考了多篇文章,但其中 none 对我的情况有所帮助。

捕获日志的原因是-这些服务在客户机器上的生产系统中,因此无法在问题发生时进行分析。

我正在使用性能监视器 (PerfMon) 每 10 分钟捕获一次特定于我的过程的数据。它给了我历史数据和当前数据。