我被問及如下問題。查找內存中的錯誤
在內存中有錯誤。該缺陷是,描述如下:
通過在位置寫,該值在位置以及在位置更新。但寫在第6位置是工作正常。
所以,當我們從第6個位置讀取位置覆蓋的值出現。
你會如何發現這個錯誤?
我的方法描述如下:
- 寫的所有的位置,
'hFF
。 - 然後,在每個位置應用的序列
read - write - read
(初始read
必須給'hFF
,此後write
每個位置與它自己的地址,然後再次read
),從位置開始0
。 - 當我們到達第6個位置和讀取命令,我們將得到損壞的值(由位置4更新),我們會發現一個錯誤。
有沒有更好的解決方案來找到這個錯誤?
設計一個能夠捕獲已知錯誤的測試非常簡單。真正的問題在於捕捉一個你不知道的bug。 –
是@ dave_59我同意你的意見。真正的問題是找到未知的錯誤,但這種類型的問題通常在訪談中被要求檢查驗證和邏輯能力以及解決候選人問題的方法。我在這裏提出這個問題'因爲我沒有得到驗證內存的機會,所以只是想知道,有沒有其他方法來解決這種錯誤? –