以下是我的源代码:
def infinite_recursion(i):
return infinite_recursion(i)
def index_out_of_range():
arr = [1, 2, 3]
print arr[3]
def foo():
try:
infinite_recursion(1)
except:
pass
print 1
def bar():
try:
index_out_of_range()
except:
pass
print 2
if __name__ == '__main__':
foo()
当我尝试使用Pycharm进行调试时,我在函数“ foo ”中的“打印1 ”行设置了一个断点。然后我在Pycharm中执行调试过程,最后,它不会在断点处停止,这很奇怪。
然后我更改源代码并在函数“栏”中的“打印2 ”行设置断点,并从
更改一些源代码if __name__ == '__main__':
foo()
到
if __name__ == '__main__':
bar()
这次Pycharm可以在断点处停止。
任何人都可以找出根本原因吗?在无限递归异常之后,似乎Pycharm调试器失效了。