啟用 Guard Bytes
在 LabVIEW 的 INI 檔案中添加 LVGuardBytes=check。這將使 LabVIEW 在每次記憶體配置的前後放置一段已知的位元組序列。如果這些序列被覆寫,LabVIEW 將當機並產生傾印檔案。此檢查會在記憶體重新配置或釋放時進行,因此可能在偵測到覆寫之前就發生當機。
使用 Alternate Memory Manager
在 LabVIEW 的命令列中添加 LV_USE_MALLOC=1。這將使 LabVIEW 載入我們不同版本的 mgcore DLL,該 DLL 包含 LabVIEW 的記憶體管理器(多個版本已包含在安裝資源目錄中)。預設使用 smartheap,而此選項改用 C 的 malloc/free。由於這些記憶體管理器採用不同的資料結構和配置方案,切換可能會影響記憶體損壞的表現方式,並提供更多上下文以判斷損壞發生的位置。
用於 LabVIEW 64 位元的命令:
"C:\Program Files\National Instruments\LabVIEW <YYYY>\LabVIEW.exe" -- LV_USE_MALLOC=1
用於 LabVIEW 32 位元的命令:
"C:\Program Files (x86)\National Instruments\LabVIEW <YYYY>\LabVIEW.exe" -- LV_USE_MALLOC=1
其中 <YYYY> 表示您目前 LabVIEW 的年份版本。