有時候一運行軟件就彈窗:0x1000477b指令引用的內(nèi)存不能為read,然后程序直接崩了,煩死了!特別是用IE或者開某些大軟件的時候,動不動就來一下。
這問題我之前也遇到過,總結(jié)下來可能有這么幾個原因:
1. IE有漏洞,尤其是老版本的,容易緩沖區(qū)溢出,趕緊升級補丁或者換瀏覽器;
2. 內(nèi)存地址沖突,Windows是多任務(wù)系統(tǒng),前一個程序還沒關(guān),新的又來了,內(nèi)存分配不過來就GG了;
3. 內(nèi)存條有問題——比如兩條不同牌子、不同大小的混插,兼容性不好;或者用了雜牌/二手條子,質(zhì)量不行;超頻了的話還要看散熱行不行。建議用MemTest跑個檢測,看看內(nèi)存穩(wěn)不穩(wěn);
4. 系統(tǒng)本身有坑,比如Windows把0x00000000到0x0000ffff這段地址設(shè)成禁區(qū),程序不小心讀了就會報錯。尤其C/C++寫的程序沒做錯誤檢查,malloc失敗返回null還繼續(xù)用,直接炸;
5. PIF文件搞事:用ASCII字符填滿的假pif文件,只要超過369字節(jié),點屬性就會崩潰,Explorer都扛不住,提示內(nèi)存不能為read。改了特定16進制位置的數(shù)據(jù)也會出問題;
6. Apache或Oracle服務(wù)裝得不對,比如OracleOraHomeXXHTTPServer這種服務(wù)開著但配置不對,也可能引發(fā)內(nèi)存報錯,建議去服務(wù)里把它停掉;
7. 程序自己沒做好內(nèi)存管理,申請內(nèi)存失敗也不檢查,一讀就崩。
解決辦法可以試試:
- 更新系統(tǒng)補丁
- 換瀏覽器(別再用老舊IE了)
- 別混插內(nèi)存條,優(yōu)先單條大容量
- 清理下虛擬內(nèi)存,或者手動設(shè)置個固定值
- 跑MemTest測內(nèi)存穩(wěn)定性
- 關(guān)閉不必要的后臺服務(wù),尤其是數(shù)據(jù)庫類的
- 重裝出問題的軟件
總之先軟后硬,一步步排查唄~
這問題我之前也遇到過,總結(jié)下來可能有這么幾個原因:
1. IE有漏洞,尤其是老版本的,容易緩沖區(qū)溢出,趕緊升級補丁或者換瀏覽器;
2. 內(nèi)存地址沖突,Windows是多任務(wù)系統(tǒng),前一個程序還沒關(guān),新的又來了,內(nèi)存分配不過來就GG了;
3. 內(nèi)存條有問題——比如兩條不同牌子、不同大小的混插,兼容性不好;或者用了雜牌/二手條子,質(zhì)量不行;超頻了的話還要看散熱行不行。建議用MemTest跑個檢測,看看內(nèi)存穩(wěn)不穩(wěn);
4. 系統(tǒng)本身有坑,比如Windows把0x00000000到0x0000ffff這段地址設(shè)成禁區(qū),程序不小心讀了就會報錯。尤其C/C++寫的程序沒做錯誤檢查,malloc失敗返回null還繼續(xù)用,直接炸;
5. PIF文件搞事:用ASCII字符填滿的假pif文件,只要超過369字節(jié),點屬性就會崩潰,Explorer都扛不住,提示內(nèi)存不能為read。改了特定16進制位置的數(shù)據(jù)也會出問題;
6. Apache或Oracle服務(wù)裝得不對,比如OracleOraHomeXXHTTPServer這種服務(wù)開著但配置不對,也可能引發(fā)內(nèi)存報錯,建議去服務(wù)里把它停掉;
7. 程序自己沒做好內(nèi)存管理,申請內(nèi)存失敗也不檢查,一讀就崩。
解決辦法可以試試:
- 更新系統(tǒng)補丁
- 換瀏覽器(別再用老舊IE了)
- 別混插內(nèi)存條,優(yōu)先單條大容量
- 清理下虛擬內(nèi)存,或者手動設(shè)置個固定值
- 跑MemTest測內(nèi)存穩(wěn)定性
- 關(guān)閉不必要的后臺服務(wù),尤其是數(shù)據(jù)庫類的
- 重裝出問題的軟件
總之先軟后硬,一步步排查唄~