我用python 3.5.2
和PyQt5
编写了一个小型模拟程序。我以前使用PyQt4
并且遇到了Qt
内部发生的间歇性分段错误的问题。因此,测试要求程序运行大约 20 次,以确保故障不会发生。
现在我想知道是否有一种简单的方法来编写一个脚本,我可以使用 gdb run
运行该脚本,该脚本将执行以下操作:
for i in range(20):
run MyProgram.py
wait(startup time)
input keyboard commands with appropriate intervals
wait for program to run
if error occurs:
force kill MyProgram.py
continue loop
elif runtime > some value:
input more keyboard commands
continue loop
有没有办法在不安装任何昂贵软件的情况下做到这一点?
测试要求程序运行大约 20 次,以确保 故障未发生
您不必仅仅因为您希望在崩溃时查看回溯而在 gdb 中测试程序。通常,如果程序收到SIGSEGV信号,程序的进程将终止并转储内核。稍后您可以在 gdb 中打开核心转储并查看崩溃进程的回溯:
gdb program core
...
(gdb) bt
...
请参阅当进程出现分段错误时如何在 Linux 中生成核心转储?如何在 Linux 上启用核心转储保存。