的Free Pascal heaptrc「如果你懷疑,同樣的內存塊被釋放兩次有用」,但它可以檢測先前釋放的內存的使用情況(被描述爲keepreleased被釋放對象的對象方法調用)?如果不可能 - 是否可以用其他工具檢測到?檢測釋放的內存使用情況(FPC - > heaptrc - > keepreleased)
0
A
回答
1
是的,它應該這樣做。這個想法是這樣的:
的使用分配有不同的.sig然後$ AAAAAAAA或$ DEADBEEF。在freemem在該SIG檢查(見樹幹周圍線593)對SIG $ AAAAAAA IF useCRC是假的。
的keepreleased防止被重用塊,這將簽名改爲別的東西,然後$ AAAAAAAA。在發佈
的文件描述符ptext $ 12345678
已標記內存:這將打印類似。錯誤標準文件可以使用各種其他變量進行設置和指導。它看起來相當複雜,但是這可能是應對consoleless GUI應用程序
其他一些變量(如haltonerror)管理如果應用程序是在這樣的腐敗
另一種(但很慢)的方法是使用的valgrind暫停(FPC選項-GV),但我只已經運行在* nix Valgrind的,並且說這是極其緩慢的,所以不是很沉重處理的應用程序。
相關問題
- 1. Chrome不釋放內存<video>
- 2. 如何在不使用免費()的情況下釋放內存
- 3. 意外的內存使用情況<T>
- 4. C#優化內存使用情況:如何釋放DataTable聲明的內存
- 5. 元組<int, int>與int [2]內存使用情況
- 6. 如何測量內存使用情況
- 7. C++檢測動態庫的內存使用情況
- 8. 檢查內存使用情況
- 9. 讓一個Listerner來檢測內存使用情況
- 10. 型 「詮釋 - >布爾」 的, 「內部 - > BOOL - >詮釋」, 「內部 - >字符串 - >內部>布爾」
- 11. Tcl_Format內存使用情況
- 12. Silverlight內存使用情況
- 13. BlackBerry內存使用情況
- 14. php內存使用情況
- 15. iphone內存使用情況
- 16. IronPython內存使用情況
- 17. CCLabelBMFont內存使用情況
- 18. Android內存使用情況
- 19. GPUImage內存使用情況
- 20. Java內存使用情況
- 21. Linux內存使用情況
- 22. Listview內存使用情況
- 23. V8內存使用情況
- 24. 內存使用情況
- 25. java內存使用情況
- 26. IIS內存使用情況
- 27. Silverlight內存使用情況
- 28. cmd內存使用情況
- 29. MYSQL內存使用情況
- 30. mod_wsgi內存使用情況