首页 文章

PyCharm调试器线与现实不同步

提问于
浏览
3

我正在使用Django Rest Framework 3.5.4和Pycharm Professional 2016.3.1 . 顺便说一句,我让PyCharm配置为在本地流浪盒中使用virtualenv .

当我在启用调试器的情况下逐步执行DRF代码时,我可以看到它正在单步执行空行,并且调试器中的变量与范围中的变量不匹配(如图所示 rest_framework.response.Response.rendered_content() ):

breakpoint on blank line

下面是另一个示例,显示调试器中作用域中的变量与传入的单个变量的匹配程度 . 另外,请注意断点在文档字符串中的清晰度:

enter image description here

这不是我第一次在PyCharm中看到过这个;虽然查看库源通常有效,但偶尔我会看到源缓存与正在执行的内容不匹配 .

我的问题是:我该如何纠正这种行为?我试图吹走我的virtualenv,然后重建它并与PyCharm重新关联 . 我也尝试了 File > Invalidate Caches / Restart ,在这个特殊情况下都没有帮助 .

编辑:

我以为我已经通过删除所有〜/ Library / Caches / PyCharmXX / remote_sources / *文件,重新使缓存失效,重新启动PyCharm以及将远程解释器与项目重新关联来解决了这个问题 . 下次我尝试调试同一个文件时,我被给了一个屏幕来选择源 . 我点击 auto-detect 并注意到有两个版本可用:

select local file for the file from remote host

我在两者之间做了差异,并没有区别 . 此外,每个文件中的字节数和修改时间相同:

pnore at pnore-mbp in ~/Library/Caches
$ ls -l PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py
-rw-r--r--  1 pnore  HBS\Domain Users  60495 Mar  7 16:56 PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py

pnore at pnore-mbp in ~/Library/Caches
$ ls -l PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py
-rw-r--r--  1 pnore  HBS\Domain Users  60495 Mar  7 16:56 PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py

pnore at pnore-mbp in ~/Library/Caches
$ diff PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py
[no output]

我随意选择了后者,随后,调试行号似乎与该文件匹配 . 我认为问题是以前版本的PyCharm已将该路径文件与库的缓存旧版本相关联 . 我不知道为什么无效的缓存本身并没有解决问题 .

Unfortunately, the association does NOT remain in PyCharm across debugging sessions . 这意味着每个调试会话都需要重新关联每个文件;事情显然是错误的 .

2 回答

  • 0

    我有一个类似的问题,两个文件具有相同的路径,调试器使用错误的,但在我的情况下,文件确实略有不同 .

    使用PyCharm 2017.2.3在Windows上修复如下:

    • 退出PyCharm .

    • 从以前版本的PyCharm中删除剩余的文件夹 . 在我的情况下,有 .PyCharm2017.2.PyCharm2017.1 文件夹 .

    • 重启PyCharm .

    • 再次调试,在提示选择正确的源时选择自动检测 .

  • 0

    在调试配置中设置“路径映射”

相关问题