一個疑惑的的問題-ntvdm.exe進程

今天測試反饋了一個問題,在啓動我們程序某個模塊的程序時,會立即出現一個ntvdm.exe進程,此進程會佔用大量的系統資源,導致系統卡住。

當第一眼看到這個現象時,以爲是電腦中毒了,所以立即在網上查。

瞭解到這個進程是WINDOWS爲了兼容16位的應用程序而啓動的一個虛擬機應用,可是我們的項目中,全都是32位的應用程序啊,問題出在哪裏了呢?

後來跟蹤發現原因如下:

啓動的這個模塊,會動態的從服務器上下載一個自解壓的exe程序,然後運行它,將其解壓出來,而其下載的這個自解壓EXE,由於我們在打包時遺漏了,其下載時,找不到這個文件,存儲成的exe中的實際內容卻是部分的http返回信息,這樣運行這個EXE時,就會觸發ntvdm.exe進程啓動了。

在此將這個現象記錄,以便後續查詢,也希望能幫助到其他碰到此問題的。

 

當然,會出現這個現象,是由於我們對於分包下載的流程設計不合理、檢測不完善導致,後續得改進這部分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章