我正在做一些我正在運行的軟件的分析工作。該軟件似乎有一些內存問題,沿線難以追查。我們決定使用Sysinternals VMMap來跟蹤軟件使用的內存。在批處理腳本中使用VMMap
我們有VMMap使用Windows調度程序每20秒導出一次使用情況,以啓動一個批處理腳本,該腳本將目標進程PID拉回並啓動VMMap。該過程運行一段時間,輸出顯示出來的目錄,但過了一段時間停止。 Windows調度程序報告作業正常運行,並在觸發器意味着再次沒有輸出時啓動另一個實例。
經過一番調查後,它看起來像VMMap無法打開進程,並試圖通過其GUI來報告錯誤。由於我們正在批量運行,因此我們無法看到此錯誤消除它。這導致了許多過程的產生,但實際上並沒有做任何事情。
有沒有人在使用VMMap時遇到過這個問題,或者知道任何可能有用的東西?我想可能有一些我可以通過的標誌抑制消息,或者我可以在批處理中處理它,但Google沒有幫助,也沒有Sysinternals論壇。任何幫助將非常感激。
這是我們最終選擇的方法。我們通過在調用之前重新檢查傳入一個無效PID的可能性最小化(因爲它在for循環中,有時PID在它到達之前關閉),並且在我們知道它們不應該正在運行時關閉正在運行的任何VMMap進程。 – MattD 2013-03-25 14:47:19