RAM測試應用程序如何工作,是否可以使用C#編寫(例如)?RAM測試應用程序如何工作? C#示例?
回答
您基本上寫入RAM,讀回來並將其與預期結果進行比較。您可能想要測試各種模式以檢測不同的錯誤(始終爲0,始終爲1),並運行多次迭代來檢測虛假錯誤。
只要您可以直接訪問要測試的內存,就可以使用任何您喜歡的語言來執行此操作。如果你想測試物理內存,你可以使用P-invoke來訪問CLR。
但是,如果您的計算機基於Von Neumann architecture,則這不會解決某個特定問題:測試內存的程序實際上位於相同的內存中。你將不得不重新安置程序來測試它。德國雜誌沒有找到解決這個問題的方法Ramtest:他們從視頻內存中運行測試。在實踐中,這對C#來說是不可能的。
有可能讓程序從CPU緩存中運行(有一些技巧)並讓它測試DRAM。 – 2009-08-20 15:57:05
大多數情況下使用低級硬件訪問將各種位模式寫入內存,然後將其讀回以確保它們與寫入的模式相同。否則,RAM可能有問題。
它們通常使用低級語言(彙編程序)編寫以直接訪問RAM - 這樣可以避免任何緩存(可能會影響測試結果)。
在C#中編寫這樣的應用程序當然是可以的 - 但這幾乎肯定會阻止您直接訪問內存,因此永遠不可能像低級內存測試人員那樣徹底或可靠。
正如一些試圖用C語言編寫memtest程序的Linux專家發現的,任何這樣的程序都必須編譯爲裸硬件或無MMU操作系統才能生效。
我不認爲C#編譯器可以做到這一點。
您可能無法像Windows中的C語言程序那樣從Windows中的C#程序測試內存,但您仍然可以做一些有用的工作。
您將需要使用本機Windows API(通過dllimpott和P/invoke)來分配sone內存並將其鎖定到RAM中。一旦你完成了,讀取和寫入模式到內存是非常容易的。
在測試結束時,您可以告訴用戶您可以測試多少內存。
- 1. 如何從Play 2.0測試Zentasks示例應用程序
- 2. ZXING示例應用程序不工作
- 3. C#測試應用程序
- 4. 在應用程序計費示例應用程序不工作
- 5. 如何使測試應用程序環節的工作
- 6. 鈦工作室 - 試圖運行示例應用程序
- 7. 試圖獲得一個示例Node.js應用程序工作
- 8. 的Facebook C#SDK Silverlight的示例應用程序不工作
- 9. 程序工作正常只有一個測試用例 - 調試
- 10. 谷歌應用程序quickstart.php示例如何更改工作表
- 11. c程序代碼測試用例
- 12. 如何測試NFC應用程序?
- 13. 在C++中測試套接字庫的線程應用程序示例
- 14. Antlr4 C#應用程序教程/示例
- 15. 如何測試Vista的應用程序
- 16. 在Visual Studio中測試/運行帶有受限CPU/RAM的C#應用程序?
- 17. 如何測試QuickFIXJ應用程序
- 18. 如何測試android應用程序?
- 19. 用示例代碼測試mongocxx C++驅動程序
- 20. 如何測試RESTful應用程序?
- 21. 如何確定C++應用程序中可用RAM的數量?
- 22. 如何測試winforms應用程序
- 23. RoR示例應用程序平臺測試
- 24. 示例帶有單元測試的ASP.NET MVC3應用程序
- 25. JHipster示例應用程序每次測試都失敗
- 26. 覆蓋測試的應用程序示例
- 27. CRUD Web應用程序中的自動測試示例?
- 28. 工具測試Web應用程序
- 29. iphone應用程序測試工具
- 30. Android應用程序測試工具(Scheduler)
你不能在任何.NET語言(如C#)中編寫RAM測試應用程序。您需要在機器級別看到事物,並且虛擬機會隱藏此信息。 – user142350 2009-08-20 15:18:40