Delphi 7无法使用断点进行调试
Delphi 7我无法调试我的应用程序,因为我的Delphi 7表单单元中有一半的代码,因为它没有在左侧的槽上显示蓝点,在我运行应用程序时无法达到任何断点。按照您的解释-如果一个单元有一些断点可用,而其他单元没有,那么听起来好像代码是不可访问/未使用的。Delphi编译器足够聪明,它不会编译任何它检测到从未使用过的代码。如果它没有编译,那么就没有办法在那里使用断点。这是一种解决方法,但它可以工作Delphi 7无法使用断点进行调试,delphi,delphi-7,Delphi,Delphi 7,Delphi 7我无法调试我的应用程序,因为我的Delphi 7表单单元中有一半的代码,因为它没有在左侧的槽上显示蓝点,在我运行应用程序时无法达到任何断点。按照您的解释-如果一个单元有一些断点可用,而其他单元没有,那么听起来好像代码是不可访问/未使用的。Delphi编译器足够聪明,它不会编译任何它检测到从未使用过的代码。如果它没有编译,那么就没有办法在那里使用断点。这是一种解决方法,但它可以工作 构建你的应用程序 删除生成的exe文件,以确保再次创建该文件 选择所有代码并粘贴到记事本中 将“空
- 构建你的应用程序李>
- 删除生成的exe文件,以确保再次创建该文件李>
- 选择所有代码并粘贴到记事本中李>
- 将“空白”文件保存到Delphi中李>
- 从记事本中选择所有文本李>
- 再次粘贴到Delphi文件中保存李>
- 重新构建你的应用程序李>
如果执行此操作后仍然无法编译,只需粘贴代码供我们查看。不确定这是否是问题所在,但默认情况下会启用优化。编译器可能正在删除代码。调试时,可以在编辑器中看到代码,但断点不会命中已优化的行 您可以在“项目选项”>“编译器”>“优化”中关闭优化,但更好的方法是:
* Project Options > Directories/Conditionals
* In the Conditional defines box, add "DEBUG" and click Ok
* Return and add "NDEBUG" and click Ok
* Now at the top of the file which you want to debug add this code:
{$IF Defined(DEBUG)}
{$O-} // Debug build
{$ELSEIF Defined(NDEBUG)}
{$O+} // Non-debug (ie. release) build
{$IFEND}
然后,您可以在需要调试时简单地将构建类型定义为“DEBUG”。在发布前设置为“NDEBUG”。不确定这是否是您的问题,但希望能有所帮助。进入菜单项目|选项… 转到选项卡编译器
检查调试中的所有标志帧请添加屏幕截图或其他内容。在这里工作正常。您的场景有什么不同?如果您从断点管理器添加断点,它们是否有效?是否检查了某个文件?如果担心,可以尝试删除(或重命名)项目的dsk文件,然后重新加载项目。您是说某些代码行有蓝点,但某些代码行没有蓝点?如果是这种情况,则表示无法访问没有点的代码,并且链接器已将其从可执行文件中删除。例如,如果你有一个方法,但是这个方法从来没有被调用过。。对于这类问题,您有什么解决方案吗