我设计了一个 Python 软件来从我的微控制器收集数据并制作实时绘图:
我的 GUI 中有十二个 matplotlib 动画(GUI 是用 PyQt 设计的)。每个 matplotlib 动画都连接到一个 TCP 线程,通过该链接接收浮点数。收到浮点数后,matplotlib 动画会在图形中添加一个新点。欢呼,我们有现场图!
我的软件可以平稳运行几秒钟(有时长达半分钟)。然后灾难降临。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 的程序,但 Norton 防病毒软件告诉我我不能信任它们。所以我现在别无选择,只能求助于 StackOverflow。
在此先感谢您的帮助。
编辑
:我已按照您的建议更改 matplotlib 后端matplotlib.use("Qt4Agg")
,但没有帮助。