代码之家  ›  专栏  ›  技术社区  ›  Brian Frost

如何在Delphi2010“正在进行调试会话”之后继续。终止?“留言?

  •  3
  • Brian Frost  · 技术社区  · 14 年前

    我收到许多消息“调试会话正在进行中。“终止?”在Delphi2010中进行例行编辑后尝试重新运行应用程序时。我的应用程序已经运行了(可能几次)并且没有任何问题地退出回到我的编辑模式,但是在完成编辑之后,有时run选项被禁用,我得到这个“调试会话”正在进行中。“终止?”信息。然后我必须小心地保存我的编辑,然后使用Windows“关闭窗口”中止Delphi并重新启动IDE。我的应用程序相当大,并且使用FastMM4。我想消除这个问题,但我很高兴有一个更整洁的方法来将调试器从它所锁定的任何东西中分离出来。有什么建议吗?

    顺便说一句,我的应用程序完全编译(并使用delphi7发布),在delphi7中我没有任何问题,即使在执行应用程序的过程中使用Ctrl-F2也没有问题。

    4 回复  |  直到 14 年前
        1
  •  1
  •   Marjan Venema    14 年前

    应用程序中的某些线程可能仍在运行,从而使应用程序不会完全终止,从而使调试会话保持活动状态。根据应用程序的状态和应用程序终止过程的其余部分,在这种情况下,IDE的标题中仍然可以有“running”。

    frogb关于按Ctrl-F2的问题(我猜是这样)是为了看看是否真的是这样。如果在应用程序完全终止时按Ctrl-F2,则不会发生任何事情。但是,如果某个线程仍然处于活动状态,并且使调试会话保持活动状态,那么Ctrl-F2应该终止它,如果IDE的标题显示“running”,那么现在应该消失了。

    事实上,即使你的应用程序还在运行,你也可以在D7中按Ctrl-F2键并正确结束,这是意料之中的。这正是Ctrl-F2的作用:结束所有仍在运行的线程(我可以粗略地加上)。

        2
  •  1
  •   frogb    14 年前

    您确定您的应用程序及其所有线程都已完全终止吗?回到编辑模式时按Control-F2会发生什么?你这样做的时候,主窗口的标题有什么变化吗?

        3
  •  0
  •   Brian Frost    14 年前

    我可以解决这个问题(它不会发生太多),但我有进一步的信息显示在一些捕获的图像的问题。这是我在程序停止后看到的..注意灰色的'Detatch from program'。。

    alt text

    alt text

    alt text

    alt text

        4
  •  -1
  •   Alan Clark    14 年前

    可能是菜单项“运行/从程序分离”?