在pycharm中调试时,如何只通过for循环的某个迭代进行调试?

问题描述 投票:0回答:3

我在Pycharm IDE中有一个Python中的for循环。我有20次for循环的迭代。但是,该错误似乎来自第18次迭代期间循环的数据集。是否有可能跳过for循环的前17个值,并且只跳转到调试第18次迭代?

目前,我已经完成了所有17次迭代,到达了第18次。 for循环中包含的逻辑非常复杂且冗长。因此,每次迭代的每个调试周期都需要很长时间。

有没有办法跳过Pycharm中所需的迭代而不进行前面迭代的深入调试?

python for-loop debugging pycharm
3个回答
2
投票

断点可能有条件。当条件评估为True调试器停止否则跳过它。见documentation


0
投票

鉴于代码:

for i in range(20):
    x = i

为了调试这种事情,我倾向于修改代码,例如:

my_debug_loop_count = 0
for i in range(20):
    x = i
    my_debug_loop_count += 1
    if my_debug_loop_count == 17:
        xyzzy = 0

然后设置一个断点:

xyzzy = 0

-1
投票

也许你可以这样做:

for x in range(20):
    if x == 17:
        print 'hello'
    ... do stuff ...

然后在PyCharm中,将print线标记为断点。

© www.soinside.com 2019 - 2024. All rights reserved.