就是说, pdb 监控程序,当满足某个条件(譬如某个变量 == 某个值), 程序暂停.
我现在不知道某个变量是在哪里被赋的值. 如果有这个功能就很容易了,要不然只能单步, 慢慢看.
1
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. ``` |
2
daimiaopeng 2021-01-24 11:57:36 +08:00
pycharm 不是有吗?
|
3
j0hnj 2021-01-24 11:57:37 +08:00 via iPhone
pycharm 在断点上右键可以设置
|
4
UN2758 2021-01-24 11:58:26 +08:00
有啊,
|
5
UN2758 2021-01-24 11:58:51 +08:00 1
|
6
xiaolinjia 2021-01-24 12:00:54 +08:00
或许你可以试试,pysnooper 这个库。
|
7
cabing 2021-01-24 12:07:54 +08:00
改用微软的 vscode,一级棒。
|
8
milkpuff 2021-01-24 23:00:21 +08:00
python 代码里面可以直接调用 breakpoint()函数
|
9
tiedan 2021-01-25 09:56:05 +08:00
在断点直接右键可以添加触发条件
|
10
reed2020 2021-01-25 10:56:35 +08:00
右击 PyCharm 的断点红点就有
|
11
cyhlnj 2021-01-25 11:08:21 +08:00
学到了
|
12
no1xsyzy 2021-01-25 13:35:25 +08:00 1
修改断点设置有点不对吧,连在哪赋值的都不知道……
1. (不管哪个) IDE 能够自动选中所有变量引用( PyCharm 默认 Alt+F7 ) 2. Pysnooper ? Cyberbrain ? 3. 如果是属性值,可以迅速转写成一个 property 并在 setter 里加断点。 4. 二分法 trace 。 |