我无法禁用一个(幽灵)断点。

11

我有一个IDE断点(Delphi-XE),每次编译和运行程序时都会重新出现。我该如何摆脱它?Delphi将断点信息存储在哪里?

更新:
1. 断点未列在“断点”面板中。
2. 我使用右键单击禁用断点(它不是灰色的),但程序仍然停在那一行。
3. 我已删除该行,断点移动到上面。


更新:
当您在IDE外编辑文件时,它会发生。我经常在BeyondCompare中这样做。


这真的是 Delphi 断点,还是一些第三方代码中可能留下了调试代码的 int 3;? - Lars Truijens
嗨,Lars。它出现在编辑器右侧作为红色圆点。它出现的PAS文件是我的(由我创建)。 - Gabriel
4
欢迎来到幽灵和神秘的移动、消失和重新出现断点的世界。我会检查一下该单元是否有任何条件定义。它似乎会影响编辑器跟踪断点的能力。至少从 D2009 开始,我就无法在设置断点并编辑一个单元时没有出现问题。当条件定义参与其中时,问题似乎更加严重,但我还没有足够的追踪来提交 QC 报告。 - Marjan Venema
你确定你没有两个版本的那个单元吗?即一个带有断点并实际被项目使用,另一个在编辑器中打开的版本? - ain
@Ain。编辑器顶部显示的路径是相同的。如果有其他测试可以检测到,请告诉我。 - Gabriel
5个回答

12

自至少Delphi 7版本以来,这就是一个bug。

解决方法:删除所有断点或从断点窗口禁用断点。

解决方法2:删除.dsk文件和.local文件。


天啊!那么老旧?我很高兴我从来没有碰过它(至少到现在为止)。 - Gabriel

2

我以前遇到过这个问题,后来发现被IDE所引用的同名文件设置了断点。因此,请搜索您的文件并确保没有引用同名文件。


编辑器顶部显示的路径是相同的(当我单击红点以禁用它并且断点重新出现时)。如果有其他测试可以检测到,请告诉我。 - Gabriel
  1. 在项目管理器中,是否有多个具有相同名称文件的项目?
  2. IDE中有一个恼人的错误,如果你有#1的话,在调试期间它可能会引用错误的文件。
  3. 搜索您的项目文件夹,并确保您没有任何其他与IDE在调试期间可能引用的相同名称的文件。正是因为#1,我才遇到了这个问题。
- Thrust Dynamics

2
据我所知,断点是存储在项目的.dsk文件中的。因此,删除该文件应该可以解决问题。 (我记得.dsk以.ini格式存储,因此您甚至可以找出导致这种行为的原因。)

1
在 DSK 文件中找到了对我的文件的引用 3 次。删除了整个“断点”部分。现在它可以工作了。我很高兴 Embarcadero 通过提供这个不错的 IDE 强调了生产力。因为每次运行程序时,我都要花费很多时间点击 F9 按钮跳过那个该死的幽灵断点 - 所以可能我浪费了很多时间。非常感谢 Dummzeuch。你增加了我的生产力!接受。 - Gabriel
在IDE中也可以做到。:-) 不过你需要断点窗口。(视图->调试->断点) - Warren P

0

我知道这是一个旧线程,但我发现了一个可能有所帮助的解决方法,这个方法并没有直接在这里提到。 如果是 INT 3 问题,请查看 Embarcadero Quality Central Report #: 2030 (http://qc.embarcadero.com/wc/qcmain.aspx?d=2030)。这个问题在 Rad studio XE 中仍然没有得到解决!!


1
请注意,QualityCentral已经关闭,因此您无法再访问qc.embarcadero.com的链接。如果您需要访问旧的QC数据,请查看QCScraper - Remy Lebeau

0

在使用C++的Rad Studio 10.4中仍未解决。我删除了.dsk和.local文件,这样就清除了断点。


这并没有提供问题的答案。如果要批评或请求作者澄清,请在他们的帖子下留言。-【来自审查】 - Bruce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接