PyCharm 的 DEBUG,能不能 不打断点去 step by step,而实时知道在哪一步吗?

2020-10-26 10:51:55 +08:00
 pppguest3962

程序是流程式执行的,冗长的样子就不说了,
大概知道是哪个区间环节死循环(假死),但是。。。。。(这里省略)
大概位置打了个断点,然后下一步点到手指都不舒服了,还是没能到那一步。。。
请问 PyCharm 应该如何操作,不打断点,在出现假死的时候,能够实时知道现在在哪个语句位置?

2648 次点击
所在节点    Python
11 条回复
janus77
2020-10-26 11:05:46 +08:00
2 分查找法了解一下
tempdban
2020-10-26 11:14:46 +08:00
这你 print 大法不就知道了?
jerome233
2020-10-26 11:15:34 +08:00
可以使用 Step Into My Code, 不用手动标记断点位置, 只在自己的服务代码内跳转, 不走标准库 /三方库的代码, 按快捷键一会就会定位到死循环的代码了
nifury
2020-10-26 11:29:41 +08:00
可以强行 pause 的吧,然后看下调用栈就知道了
iConnect
2020-10-26 11:42:54 +08:00
先肉眼估摸出错可能性比较大的区域,print 几个值和类型出来,基本上抓几轮下来就能定位准了。生产环境才是比较麻烦的,基本上要去找日志看了。
pppguest3962
2020-10-26 11:55:20 +08:00
@nifury 的确是,我 pause 下来了,但看到的位置是自带库里面的一段位置,我试着按了 DEBUG 菜单上的步出,步入几个 option,也没能发现,自己的程序是哪一行召唤到这个位置的。。。。
TimePPT
2020-10-26 11:56:48 +08:00
PySnooper - Never use print https://github.com/cool-RR/PySnooperfor debugging again
TimePPT
2020-10-26 11:57:18 +08:00
https://github.com/cool-RR/PySnooper
PySnooper - Never use print for debugging again
nifury
2020-10-26 11:58:12 +08:00
@pppguest3962 #6 啊这,左下角不是有调用栈么,翻一翻就能看到程序调用的地方了呀
k3Sv1
2020-10-26 12:48:59 +08:00
你在陷入循环的时候 pause 或者直接中断不就能看到调用栈了吗
no1xsyzy
2020-10-26 20:27:23 +08:00
左下调用栈会用颜色区分你的代码和外部库的代码的…… 还是用 ignore 的颜色显示 .gitignore 掉的代码?没有在 .gitignore 以外用过第三方库所以不知道……
至于进 C 的情况直接显示 Frame 不可用。
而且可以跳到任何一层调用栈看变量和进 Console 执行代码……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX