2017-03-07 84 views
0

我正在尋找解決方案來從RAM中拯救數據。 我的程序終止時出現錯誤,數據仍然應該在內存中。 我可以訪問它以保存它嗎?如何從RAM中拯救數據?

我正在使用python和Raspberry Pi 3.我的程序從網上抓取數據並將其存儲在csv文件中。所有數據都被刮掉,但是在寫入之前程序崩潰了。再次執行程序不是一個選項。

我從控制檯調用它跑了PROGRAMM,錯誤出現和控制檯正在等待我的下一個輸入:

[email protected]: python3 program.py 
"Error-message" 
[email protected]: 

裏面program.py我的數據存儲在一個列表「DATA_LIST」。

我該如何檢索這個列表?

編輯:

再次執行程序是不是一種選擇,因爲它花了約12h完成。所刮取的數據將被用來對第二個程序的運行時間進行有根據的猜測。到時候刮完了這個猜測是無關緊要的。

+0

當程序終止時,操作系統是否執行了核心轉儲? – paddy

+0

你真的不能做到這一點,至少不是來自python。假設數據仍然在內存中假設太多。 – Netwave

+2

您可能無法做到這一點...爲什麼再次運行腳本(修復後)「不是一個選項」? – Chris

回答

0

從理論上講,您可以開始讀取內存地址,直到您終於看到類似於CSV字符串的內容爲止。但是這些數據很可能會被分割。

你不能在python中做到這一點,你需要C或C++,這需要花時間寫。

在練習,當我發佈這個答案時,您的程序使用的頁面被其他東西覆蓋的可能性很高。同樣由於進程隔離,您甚至可能無法讀取所有內存。