gpt4 book ai didi

debugging - PyCharm 调试器行与现实不同步

转载 作者:行者123 更新时间:2023-12-03 08:11:57 26 4
gpt4 key购买 nike

我正在使用 Django Rest Framework 3.5.4 和 Pycharm Professional 2016.3.1。顺便说一句,我将 PyCharm 配置为在本地 vagrant 框内使用 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 以及将远程解释器与项目重新关联来解决这个问题。下次我尝试调试同一个文件时,我会看到一个屏幕来选择源。我点击了 自动检测 并注意到有两个版本可用:

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 的先前版本将该路径文件与该库的缓存旧版本相关联。我不知道为什么无效缓存本身没有解决问题。

不幸的是,该关联在调试 session 中不会保留在 PyCharm 中 .这意味着需要为每个调试 session 重新关联每个文件;有些事情显然是错误的。

最佳答案

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

在带有 PyCharm 2017.2.3 的 Windows 上修复如下:

  • 退出 PyCharm。
  • 删除以前版本的 PyCharm 遗留的文件夹。就我而言,同时存在 .PyCharm2017.2.PyCharm2017.1文件夹。
  • 重启 PyCharm。
  • 再次调试,当提示选择正确的源时选择自动检测。
  • 关于debugging - PyCharm 调试器行与现实不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651430/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com