【问题标题】:PhpStorm Xdebug breakpoints disappearing?PhpStorm Xdebug 断点消失?
【发布时间】:2022-01-05 16:55:07
【问题描述】:

我正在使用 Xdebug 和 PhpStorm 来调试 PHP 应用程序。

就实际进行调试而言,这一切都完美无缺,但是,PhpStorm 会间歇性地删除 所有我设置的断点。

似乎没有导致这种情况的模式或动作,到目前为止它似乎完全是随机的(尽管我知道它可能不是)。

会发生什么:

  • 我向各种文件添加 10 或 15 个断点。
  • 我设置了大量测试数据来找出问题。
  • 我开始调试并意识到它并没有在我的任何断点处停止,所以我检查了 PhpStorm 中的断点列表,它们都消失了。所以我必须回到第 1 步并重做我的所有测试数据并记住设置断点的位置。

IntelliJ / PhpStorm 支持人员表示他们以前从未听说过这种情况,只是告诉我基本上“恢复出厂设置并重试”看看是否有帮助。

我宁愿把它作为最后的手段,因为我需要年龄才能让一切恢复到我想要的状态,所以我希望其他人也经历过这个,我'我不只是发疯了吗?

我使用的是最新版本 2021.3(内部版本 #PS-213.5744.279,构建于 2021 年 12 月 2 日)

我今天做了很多调试,已经发生了 7 到 8 次。有时它不会整天发生。

【问题讨论】:

  • "...只是告诉我基本上“恢复出厂设置并重试”看看是否有帮助。” 你应该这样做只是为了看看是否有帮助(因为这可能会给出一些提示)。您可以从备份中恢复 prev 设置(该选项应该在重置之前执行,或者您可以手动备份配置文件)。
  • 我会在有空的时候尝试一下,但是一旦我重置它可能至少需要一个小时来设置项目并再次进行 xdebug 我想。必须等到周末才能试一试。因为它是间歇性的,所以我必须在不寻常的设置下进行 x 小时的开发,直到它随机发生。
  • 无论如何:我以前也从未听说过以这种方式丢失断点。也许它与 VCS 有关(如果您在那里跟踪 .idea).. 或者可能与更改运行/调试配置相关联(我知道手表与此相关联,不确定断点)。顺便说一句——你什么时候/什么时候松开它们?比如:它正在工作,你在调试.. 然后在下一次运行时它们都消失了?
  • 我最初确实考虑过 git,但是当它发生时我没有更改分支或执行任何 git 操作,因此看起来不太可能。它因人而异。今天有好几次就像你描述的那样,调试很好,再运行一次相同的场景,它删除了我在运行 1 和 2 之间的所有断点。但是今天我正在做一个全局搜索(Ctrl + Shift + F ),当我按下 ESC 关闭搜索模式时,我实际上看到所有的红点(断点)都消失了。我再次尝试了相同的操作,但无法重现。
  • 如果它随机发生:试着记住它是什么时候发生的;然后检查idea.log (Help | Show Log in XXX) 是否有可能的提示(一些异常/错误消息等)...顺便说一句:PHP 断点通常保存在.idea/workspace.xml 文件中——查找<component name="XDebuggerManager"> 节点)。也许该文件以某种方式在外部被修改(只是一个想法)...请注意,配置文件可能不会立即更新,Save 可能仅在关闭项目时发生。

标签: php phpstorm xdebug breakpoints xdebug-3


【解决方案1】:

所以,抱歉,我什至没有想到我也在使用 DataGrip(另一个用于 DB 工具的 IntelliJ IDE),结果是因为我在同一个目录中使用它们,它们相互冲突并覆盖它存储断点的文件(感谢@LazyOne 提供该信息!)。

显然没有办法让他们独立使用同一个项目,所以我不得不在项目中为 DataGrip 使用一个稍微不同的文件夹。可能有更清洁的解决方案,但现在就可以了!

谢谢大家。

【讨论】:

  • 1) 您可以使用相同的文件夹(实际代码文件).. 但它将是单独的配置(项目设置)。稍微手动调整一下就可以了,没什么大不了的。请描述您如何使用它们。 2) 还请说明您需要 DataGrip 的原因。目前 PhpStorm 在数据库管理/访问方面与 DataGrip 具有相同的功能。
  • 我使用与 OP 相同的设置。对我来说,它专注于 PHP 和 Storm 中的调试,同时可以快速访问我管理的多个数据连接,还可以处理 PHP 项目中的 SQL 文件。当然,有些冗余,但重点任务。如果我有机会进行配置更改以成功将它们分开,我会回来发布答案。
  • gist.github.com/vipulmathur/7d4f3dde35674874892ca61442fdf8f5 - 这实际上非常有帮助。这是一种解决方法 - 已经为“官方”解决方案提出了几个问题。但这解释了如何在自己的文件夹中设置每个 IDE 项目,以及如何将每个 IDE 文件夹中的项目代码符号链接(或 Windows 中的联结)。
猜你喜欢
  • 1970-01-01
  • 2019-07-31
  • 1970-01-01
  • 2022-06-17
  • 2017-07-28
  • 2018-03-31
  • 2014-05-28
  • 1970-01-01
相关资源
最近更新 更多