Debugging 如果出现错误,请停止PyCharm

Debugging 如果出现错误,请停止PyCharm,debugging,pycharm,breakpoints,Debugging,Pycharm,Breakpoints,在PyCharm调试模式下,有没有办法让它在遇到错误后立即停止,但不退出并突出显示有问题的行?我想到的类似功能是Matlab的“dbstop if error”。是的,有。在“运行”下,如果您点击查看断点(Windows上的Ctrl+Shift+F8),则会有一个复选框,您可以在其中为任何异常创建异常断点。给出的答案让我感到困惑。要做到这一点,您不需要转到“首选项”,您需要转到的是“打断点”菜单栏(由于某些原因,它不在“首选项”中)。因此: 按Command+shift+fn+F8(Window

在PyCharm调试模式下,有没有办法让它在遇到错误后立即停止,但不退出并突出显示有问题的行?我想到的类似功能是Matlab的“dbstop if error”。

是的,有。在“运行”下,如果您点击查看断点(Windows上的Ctrl+Shift+F8),则会有一个复选框,您可以在其中为任何异常创建异常断点。

给出的答案让我感到困惑。要做到这一点,您不需要转到“首选项”,您需要转到的是“打断点”菜单栏(由于某些原因,它不在“首选项”中)。因此:

  • 按Command+shift+fn+F8(Windows上的Ctrl+shift+F8)转到断点,或转到底部的断点(见图1)。这将打开断点菜单(见图2)

  • 然后单击启用(对于我来说,挂起已经打开,所以我只需要单击启用)。就这样

  • 图1: 图2:



    注意:此功能之所以有用,是因为在运行一个执行之后,它会停止执行,而程序状态正是它导致它出错的原因。对我来说,我有随机代码,因为机器学习和复制的错误正是恼人的。我宁愿看看是什么导致了错误,检查程序状态,堆栈等等,然后修复它。在右下角甚至有一个运行代码的小窗口,这样我就可以在修复代码时在那里进行测试。我甚至可以做
    control+shift+E
    来测试我实际代码中的代码片段(正如我对新代码所做的那样)。

    我不确定为什么需要这样的功能。有问题的行在回溯中最后打印出来,非常容易理解。@ian\u itor:假设错误首先出现在有问题的行上,在n次迭代中的一次。您建议如何定位那个有问题的迭代,手动循环所有之前正确的迭代?这一点很好!我不是在批评你的事业,我真的很好奇。@ian\u-itor:很高兴你这么问。这是一个很好的问题。可能重复的问题不能提供问题的答案。一旦你有足够的钱,你将能够;相反谢谢你的澄清。如果OP提出的问题不可能实现,那么变通方法是否算作答案?是的,确实如此。非常感谢。我已经接受了你的答案和+1。它还显示了一个非常好的位置,因为我在搜索时迷路了。回答得很好。谢谢