我設計了一個Python的軟件來收集我的單片機的數據並進行現場圖:Python程序崩潰,因爲ntdll.dll的和QtGui4.dll
我有我的GUI 12個matplotlib動畫( GUI是用PyQt設計的)。每個matplotlib動畫連接到一個TCP線程,通過該鏈接接收浮點數。在收到一個浮點數時,matplotlib動畫會在圖形中添加一個新點。而huray,我們有活的情節!
我的軟件運行平穩幾秒鐘(有時達半分鐘)。然後發生災難。 Windows提到「Python已停止工作」。我甚至沒有在終端窗口中打印異常報告(因爲它通常會發生在我所有的其他錯誤中)。 Windows問我是否要調試Python應用程序,並建議使用Visual Basic。在Visual Basic中,我收到以下錯誤報告:
Unhandled exception at 0x00007FFC596CE6FC (ntdll.dll) in
python.exe: 0xC0000374: A heap has been corrupted
(parameters: 0x00007FFC597222B0).
Unhandled exception at 0x00007FFC56071F28 in python.exe:
Microsoft C++ exception: std::bad_alloc at memory
location 0x0000003DBA30E8F0.
Exception thrown at 0x0000000000000000 in python.exe:
0xC0000005: Access violation executing location
0x0000000000000000.
我重新啓動了所有內容,然後重試一次。災難降臨了,我可得在Visual Basic下面的錯誤報告:
Unhandled exception at 0x00000000660E8D61 (QtGui4.dll) in python.exe:
0xC0000005: Access violation reading location 0x0000000000000020.
我再次重新啓動另一項試驗。災難再次擊中我:
Unhandled exception at 0x00007FFC596CE6FC (ntdll.dll) in python.exe:
0xC0000374: A heap has been corrupted (parameters: 0x00007FFC597222B0).
不幸的是,我不知道這些錯誤報告的含義。我搜索了QtGui4.dll
和ntdll.dll
。我發現了幾個程序來修復我的電腦上的DLL,但諾頓殺毒軟件告訴我,我不能相信他們。所以我現在沒有選擇了,轉而使用StackOverflow作爲我的最後一招。
在此先感謝您的幫助。
編輯 :我按照你的建議通過matplotlib.use("Qt4Agg")
改變matplotlib後端,但它並沒有幫助。
嗯,我會嘗試用'matplotlib.use(「Qt4Agg」)'改變matplotlib的後端。然後我會嘗試使用'plt.pause'而不是'time.sleep'。 –
非常感謝。我現在要睡覺了,但明天早上我會試試看。 –