这是我D2006的奇怪行为,有时候会发生。我有一个要调试的项目。我想要调试的文件名为“Main.pas”。我有另一个无关的项目与相同的单元名称,有时调试器会提示我错误的Main文件,而不是当前项目中的Main单元。我遇到过其他同名文件的情况。由于调试键不起作用(它们什么也不做),所以我无法调试。您是否遇到过相同的问题?我该如何解决?
谢谢。
谢谢。
你是否使用相对路径?
如果是,我发现将工作目录设置为我的项目目录并使用文件->打开从我的项目目录加载文件可以帮助解决问题。导航和加载过程中会设置工作目录,修复了这样一种情况:你认为你在使用相对于项目的路径,但是Delphi将它们解释为相对于IDE的工作目录。 但是请先关闭所有其他选项卡,以避免错误。由于Delphi编译器是一个dll,它与IDE深度交互,并且可能可以访问哪些文件已打开(它可以编译未保存的文件!)。
如果没有使用相对路径,则可能是偶然事件,但仍然具有相同的起源。养成先关闭其他文件(右键单击选项卡->关闭所有其他),并固定工作目录(通过加载单元来实现)的习惯可能会有所帮助。
我感觉BDS系列的IDE比经典的IDE更容易出现这个问题,但是这个问题在经典的IDE中也存在。可能只是BDS中使用了更多高级的opendialog选项,增加了工作目录更改的机会。
更新 只有在没有其他项目打开时才打开项目有所帮助。因此,在打开新项目之前始终单击旧项目,并且如果IDE中已加载其他项目,请勿在Windows资源管理器中单击项目。
Delphi XE仍然存在这个问题。
我也遇到过这个问题,现在我倾向于给文件取唯一的名称,比如不是 Main.pas,而是 ProjectNameMain.pas
请检查您的“环境选项”中的库路径和浏览路径
查看项目的输出和 DCU 目录。你可能从共享的 DCU 目录中获取了旧的 DCU。清除 DCU 并重新构建。