公司開發了一款軟體,環境是VS2017,編程語言是C++,使用代碼運行的時候是正常的,沒有記憶體泄漏,使用exe運行的時候,在其他人電腦上運行的時候是沒有問題的,然后讓同事把整個可執行檔案夾打包發我,在我自己電腦上運行exe的時候就會再次出現記憶體泄漏,求助大佬這個是什么情況?跟電腦的配置環境有關系嗎?目前我和同事的防火墻都是關閉的
uj5u.com熱心網友回復:
在其他人電腦上的執行邏輯和在你自己電腦上的是否一致?是不是因為代碼流程路徑不同導致問題被隱藏?uj5u.com熱心網友回復:
不是因為代碼邏輯,本身代碼運行的時候是沒有任何問題的,我是全部洗掉,重新下載的代碼,可執行檔案也是同事生成給我的,所以懷疑會不會跟電腦上的系統環境有關,比如電腦的使用或者其他軟體的安裝改變了某些電腦系統變數,注冊表什么的,所以想求助一下電腦的系統配置環境會不會導致只有exe運行時才會出現記憶體泄漏uj5u.com熱心網友回復:
發個Debug版本給你,VS遠程除錯,運行程序中,懷疑有記憶體泄漏時,結束應用,VS上輸出資訊里,可以看到記憶體泄漏的地方,然后在代碼一開始,加上_CrtSetBreakAlloc再編譯,再次除錯時,就能知道是那塊記憶體泄漏了uj5u.com熱心網友回復:
打Windows系統補丁檢查是否資源泄漏的辦法之一:
在任務管理器 行程 查看 選擇列 里面選擇:記憶體使用、虛擬記憶體大小、句柄數、執行緒數、USER物件、GDI物件
讓你的程式(行程)不退出,回圈執行主流程很多遍,越多越好,比如1000000次甚至無限回圈,記錄以上各數值,再隔至少一小時,越長越好,比如一個月,再記錄以上各數值。如果以上兩組數值的差較大或隨時間流逝不斷增加,則鐵定有對應資源的資源泄漏!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/267895.html
標籤:C++ 語言
