gpt4 book ai didi

delphi - 应用程序在退出时卡住 - 如何调试?

转载 作者:行者123 更新时间:2023-12-03 18:53:28 29 4
gpt4 key购买 nike

我们有一个由主机(exe)和许多包含gui等的模块(dll)组成的应用程序。
有时,应用程序在关闭时卡住。大多数情况下,它发生在通过 TestComplete 进行测试期间。我们无法在调试期间重现该行为。

我们如何找出应用程序卡住的原因?

我猜它与线程有关,但我不确定。

有什么我们应该尝试的工具或技术吗?

最佳答案

我认为好的旧伐木会对你有所帮助。为每个单元添加一些日志记录 finalization ,将此类日志记录添加到全局数据的析构函数(数据库连接、全局配置等)。当然不要破坏记录器对象。

如果您的应用程序是多线程的,则将一些日志记录添加到工作线程,例如写入“[日期]线程[类名]工作”并每隔几秒写入一次(您可以使用一些 Debug模式)。当线程发现它应该终止时,还要添加日志记录。

还可以使用一些系统实用程序,例如 ProcessMonitor、Handles、Process Explorer(全部由 Sysinternals/Microsoft 提供)。监控磁盘读取/写入、句柄计数、内存使用情况、网络连接。也许您的应用程序在退出时会在磁盘上转储一些大结构?也许它分配了很多内存并且必须释放它?

关于delphi - 应用程序在退出时卡住 - 如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4122685/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com