pycharm 或者其他 ide 或者 pdb 有没有根据条件自动断点的功能

2021-01-24 11:41:43 +08:00
 chaleaoch

就是说, pdb 监控程序,当满足某个条件(譬如某个变量 == 某个值), 程序暂停.

我现在不知道某个变量是在哪里被赋的值. 如果有这个功能就很容易了,要不然只能单步, 慢慢看.

1930 次点击
所在节点    Python
13 条回复
jhdsgfww
2021-01-24 11:55:51 +08:00
用 ipdb 直接写在代码里面试一下?
```python
import ipdb

# some codes here.
if somevar == somevalue:
ipdb.set_trace()
# some codes here.
```
daimiaopeng
2021-01-24 11:57:36 +08:00
pycharm 不是有吗?
j0hnj
2021-01-24 11:57:37 +08:00
pycharm 在断点上右键可以设置
UN2758
2021-01-24 11:58:26 +08:00
有啊,
UN2758
2021-01-24 11:58:51 +08:00
xiaolinjia
2021-01-24 12:00:54 +08:00
或许你可以试试,pysnooper 这个库。
cabing
2021-01-24 12:07:54 +08:00
改用微软的 vscode,一级棒。
milkpuff
2021-01-24 23:00:21 +08:00
python 代码里面可以直接调用 breakpoint()函数
tiedan
2021-01-25 09:56:05 +08:00
在断点直接右键可以添加触发条件
reed2020
2021-01-25 10:56:35 +08:00
右击 PyCharm 的断点红点就有
cyhlnj
2021-01-25 11:08:21 +08:00
学到了
no1xsyzy
2021-01-25 13:35:25 +08:00
修改断点设置有点不对吧,连在哪赋值的都不知道……
1. (不管哪个) IDE 能够自动选中所有变量引用( PyCharm 默认 Alt+F7 )
2. Pysnooper ? Cyberbrain ?
3. 如果是属性值,可以迅速转写成一个 property 并在 setter 里加断点。
4. 二分法 trace 。
chaleaoch
2021-01-25 14:12:56 +08:00
@no1xsyzy 感谢感谢. 是我想要的.

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

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

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

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

© 2021 V2EX