我有一个运行在raspberry pi 02上的程序,但是在某个点上它就停止了,没有错误,没有程序退出,ctrl+c可以很好地运行。它就停止做任何事情,我不知道为什么。在此之前运行了很多复杂的代码,它还调用了一个外部库,所以我不想把所有的东西都擦过(那是一个非常深的兔子洞)。我只想知道它在卡住之前完成的最后一行,这样我就可以解除卡住。有没有什么方法可以打印出最后一行被卡住时执行的代码?也许我可以打印出最后一行被执行时按ctrl+C的代码?
velaa5lx1#
所以,一个相当简单的解决方案,我显然没有意识到。按下ctrl+c默认将打印最后几行的回溯。它对我不起作用,因为我有一个处理任何键盘中断的异常子句。摆脱那个子句迫使我的程序崩溃,现在我有一个单独的问题,找出ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())的意思。但是关于这个问题我想已经解决了,感谢AKX的澄清。
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
1条答案
按热度按时间velaa5lx1#
所以,一个相当简单的解决方案,我显然没有意识到。按下ctrl+c默认将打印最后几行的回溯。它对我不起作用,因为我有一个处理任何键盘中断的异常子句。摆脱那个子句迫使我的程序崩溃,现在我有一个单独的问题,找出
ready, _, _ = select.select([self.fd, self.pipe_abort_read_r], [], [], timeout.time_left())
的意思。但是关于这个问题我想已经解决了,感谢AKX的澄清。