【发布时间】: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