Pycharm无法识别非测试文件中的断点

时间:2011-03-09 20:01:25

标签: breakpoints pycharm

使用Pycharm编写服务器。

我使用Python的'unittest'库进行了一些单元测试。

我刚刚运行测试,一切都很好,我可以在代码中的任何位置设置断点。 昨天我开始通过调试器运行服务器。我发现我的断点不再起作用了。在视觉上它们仍然在那里,它们在各方面看起来/表现得像一个工作断点,除了它们实际上不会导致执行中断,它们被忽略(就像它们被禁用一样)。

今天当我再次尝试运行测试时,我在所有文件中观察到相同的行为,除了我的测试库中的那些。

我尝试了一个实验,在服务器代码中添加了一个新文件,其中包含一个简单的函数。 函数断点,从测试调用函数,通过调试器运行测试,没有中断。 将文件复制到我的'tests'目录,重置函数中的断点,更改'import'语句指向测试文件的新位置,运行测试。现在它停在文件的断点处。

我已经尝试了所有我能想到的基本'健全检查':退出PyCharm。重新安装PyCharm。删除PyCharm首选项。重启。我仍然得到完全相同的行为。

对于它的价值,'run to cursor'表现出同样的问题:除了测试文件之外,它只是在不停止的情况下运行。

真正疯狂的是昨天一切正常。当我运行测试时,至少断点正在工作。

2 个答案:

答案 0 :(得分:2)

有点自己解决这个问题。

在运行 - >编辑配置中,选择配置进行测试。

在“测试:文件夹:”中,现有设置为foo / bar / baz / my_project / tests。

使用此设置我遇到了问题:“测试”下的断点工作,“my_project”其余部分下的断点没有。

我将其更改为foo / bar / baz / my_project。 现在这一切都按预期工作,断点在任何地方工作正常。

我项目中的其他人在原始设置下工作正常:他们只指向'tests'目录并可以在任何地方设置断点。

我不知道为什么我很特别,这对我来说失败了,但是我有一个解决方法而且我已经厌倦了与之抗争......好时光。

答案 1 :(得分:1)

嘿道格,有三件事情可能会有所帮助:

  1. 我在早期的1.0和1.0.1版本中使用已保存的调试配置重复了几次相同的问题---重新创建调试配置修复了故障。敲木头,但我没有在1.1.1中遇到过这个问题。尚未尝试过1.2发布候选版本。
  2. 一位同事有类似的问题,但他不小心在文件的外部副本上设置了断点,而不是PyCharm正在执行的。
  3. 最后我的经验是,如果你ping their user forum和/或submit a YouTrack bug,JetBrains人员已经很好地回答了问题。
  4. 干杯, 罗布