我的问题是系统的某些部分引发了异常,但它发生在初始化期间,我无法弄清楚它在哪里或哪个异常。系统刚开始运行,然后突然关闭。
你有什么方法可以调试这种情况吗?
我正在使用Delphi5,以防万一。
下载MadExcept。它适用于 Delphi 5,可免费用于非商业用途(对于商业用途来说绝对是便宜货),并且非常适合追踪各种神秘的异常。
使用 (step into) 命令启动应用程序F7,这将跳转到第一个单元初始化...然后您可以使用F7或F8像往常一样调试任何单元初始化部分,直到找到异常的来源。
有时,调试初始化是一项繁琐的工作……在您取得进展的同时,您可以在初始化部分中放置常规断点,以便从已知点重新开始。
在使用那些接受的答案(调试器工具)后,您是否得到/发现问题出在哪里?您是否使用需要一些 DLL 的库/组件?根据我的经验(没有出现异常并且应用程序突然关闭);这是因为您的某些东西无法加载 DLL。该异常不会在调试模式下显示,但它会在您运行应用程序时出现(而不是在 debug-Delphi 中)。