V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chaleaoch
V2EX  ›  Python

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

  •  
  •   chaleaoch · 2021-01-24 11:41:43 +08:00 · 2101 次点击
    这是一个创建于 1399 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    13 条回复    2021-01-25 14:12:56 +08:00
    jhdsgfww
        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.
    ```
    daimiaopeng
        2
    daimiaopeng  
       2021-01-24 11:57:36 +08:00
    pycharm 不是有吗?
    j0hnj
        3
    j0hnj  
       2021-01-24 11:57:37 +08:00 via iPhone
    pycharm 在断点上右键可以设置
    UN2758
        4
    UN2758  
       2021-01-24 11:58:26 +08:00
    有啊,
    UN2758
        5
    UN2758  
       2021-01-24 11:58:51 +08:00   ❤️ 1
    xiaolinjia
        6
    xiaolinjia  
       2021-01-24 12:00:54 +08:00
    或许你可以试试,pysnooper 这个库。
    cabing
        7
    cabing  
       2021-01-24 12:07:54 +08:00
    改用微软的 vscode,一级棒。
    milkpuff
        8
    milkpuff  
       2021-01-24 23:00:21 +08:00
    python 代码里面可以直接调用 breakpoint()函数
    tiedan
        9
    tiedan  
       2021-01-25 09:56:05 +08:00
    在断点直接右键可以添加触发条件
    reed2020
        10
    reed2020  
       2021-01-25 10:56:35 +08:00
    右击 PyCharm 的断点红点就有
    cyhlnj
        11
    cyhlnj  
       2021-01-25 11:08:21 +08:00
    学到了
    no1xsyzy
        12
    no1xsyzy  
       2021-01-25 13:35:25 +08:00   ❤️ 1
    修改断点设置有点不对吧,连在哪赋值的都不知道……
    1. (不管哪个) IDE 能够自动选中所有变量引用( PyCharm 默认 Alt+F7 )
    2. Pysnooper ? Cyberbrain ?
    3. 如果是属性值,可以迅速转写成一个 property 并在 setter 里加断点。
    4. 二分法 trace 。
    chaleaoch
        13
    chaleaoch  
    OP
       2021-01-25 14:12:56 +08:00
    @no1xsyzy 感谢感谢. 是我想要的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2813 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:40 · PVG 22:40 · LAX 06:40 · JFK 09:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.