![]() | 1 cyrbuzz 2021-06-18 19:56:12 +08:00 是我没 Get 到什么点吗,断点打在函数内不就好了吗= =。 |
![]() | 2 JerningChan 2021-06-18 20:44:54 +08:00 via Android 嗯,为什么要断在 def 那一行呢? |
3 dgfadsrawdfaer OP @cyrbuzz 抱歉,没有讲清楚,不影响使用,就是无意中发现了这个现象,觉得特别奇怪,想了解清楚是什么情况。 |
4 dgfadsrawdfaer OP @JerningChan 抱歉,没有讲清楚,不影响使用,就是无意中发现了这个现象,觉得特别奇怪,想了解清楚是什么情况。 |
5 nifury 2021-06-18 22:04:07 +08:00 因为 def 那一行并不会真正执行吧 同理如果你断点打在一个空行上,或者打在注释上,断点也不会触发 |
6 dgfadsrawdfaer OP @nifury 嗯嗯原来是这样,不过请问一下为什么 debug 会把后面的代码也一起运行了呢(相当于使用了 Run,而不是 Debug ),不是应该可以让我一步步手动操作吗? |
7 nifury 2021-06-18 22:14:08 +08:00 @dgfadsrawdfaer #6 默认 debug 就是运行到断点停下来呀,没有断点的话可不就运行到结束了嘛。另外 debug 下遇到异常会自动中断,这也是和直接 run 不一样的地方 如果要一步步操作的话可以用 python -m pdb your_script.py |
8 dgfadsrawdfaer OP @nifury 噢噢明白了,非常感谢你! |
![]() | 9 marquina 2021-06-19 00:27:06 +08:00 via Android 因为 def 只是告诉解释器有这个函数存在,不会有“代码运行到 def 这一行”这个说法 |
![]() | 10 ericls 2021-06-19 03:53:27 +08:00 def 在 import 的时候运行 |
![]() | 11 param 2021-06-19 07:03:43 +08:00 via Android 打到 def 那行,估计是会在函数被 efine 的时候断点?而不是函数执行时 |
![]() | 12 baobao1270 2021-06-19 09:31:58 +08:00 断点是运行在当前行执行前吧 所以你要打在 def 后面一行,也就是函数的第一行 |
![]() | 13 QuinceyWu 2021-06-19 11:44:27 +08:00 在 def 后面一行打断点 |