当变量取某个值时,如何使PyCharm中断?

Sup*_*est 2 debugging breakpoints pycharm python-3.x

我有一本大字典,有些元素有时会以非法值结尾。我想找出非法值的来源。PyCharm应该不断监视我的词典的值,一旦其中任何一个值取了非法值,它就会中断并让我检查程序的状态。

我知道我可以通过为字典创建一个getter / setter而不是直接访问它,然后在适当的条件下破坏setter来做到这一点。

有没有办法修改我的代码吗?

小智 5

我不确定这是否能回答您的问题,但是您可以在要中断的代码行上设置一个断点,一旦设置了断点,请右键单击该断点,然后再应用条件。

这种情况的一个示例可能是:

x> 5

一旦您处于循环/代码中满足此条件的阶段,即当x = 6时,它将中断,您可以检查代码的所有当前值/状态。

希望这可以帮助

  • 问题是没有行可以设置断点,因为 OP 不确定设置值的位置和时间 – *我想弄清楚非法值来自哪里。*为了进行比较,请看以下内容gdb 的[文档](https://sourceware.org/gdb/current/onlinedocs/gdb/Set-Watchpoints.html)对此功能的描述 – *每当表达式的值发生变化时,您可以使用观察点来停止执行,而不必预测可能发生这种情况的特定位置。(这有时称为数据断点。)* (2认同)