Delphi 如何定位“的来源”;无效浮点“;没有调试器的异常?
我的系统可以正常运行数小时。Delphi 如何定位“的来源”;无效浮点“;没有调试器的异常?,delphi,debugging,delphi-6,Delphi,Debugging,Delphi 6,我的系统可以正常运行数小时。 突然抛出无效的浮点异常。 它不会发生: -在调试器中运行时 -在所有计算机中 如果没有调试器,如何确定引发异常的位置? 我使用Delphi6 通过日志记录和异常跟踪的组合。 这意味着您的系统必须部署调试信息。对您来说似乎不是问题,但有时对box软件来说却是问题 有很多工具可以做到这一点,但可能不是所有的工具都仍然兼容Delphi-6。举几个例子: 因此,您必须更改默认的异常处理程序(在TApplication、ExceptProc或其他任何程序中,这些源
突然抛出无效的浮点异常。
它不会发生:
-在调试器中运行时
-在所有计算机中 如果没有调试器,如何确定引发异常的位置?
我使用Delphi6 通过日志记录和异常跟踪的组合。 这意味着您的系统必须部署调试信息。对您来说似乎不是问题,但有时对box软件来说却是问题 有很多工具可以做到这一点,但可能不是所有的工具都仍然兼容Delphi-6。举几个例子:
TApplication
、ExceptProc
或其他任何程序中,这些源代码中的工具将向您展示如何执行该操作)并记录浮点异常(您现在几乎不会对所有可能的异常感兴趣)
这带来了另一个问题:日志框架。上面的一些库已经有了它,一些库需要额外的库。你现在已经需要它了,以后你会更需要它
您需要进行多次迭代,首先将搜索向下扩展到调用堆栈,向日志添加更多的参数和变量,并可能在日志中包含一些附带例程,不直接在调用堆栈中,但在异常之前被调用,并在错误之前影响本地VAR值。通过日志记录和异常跟踪的组合。 这意味着您的系统必须部署调试信息。对您来说似乎不是问题,但有时对box软件来说却是问题 有很多工具可以做到这一点,但可能不是所有的工具都仍然兼容Delphi-6。举几个例子:
TApplication
、ExceptProc
或其他任何程序中,这些源代码中的工具将向您展示如何执行该操作)并记录浮点异常(您现在几乎不会对所有可能的异常感兴趣)
这带来了另一个问题:日志框架。上面的一些库已经有了它,一些库需要额外的库。你现在已经需要它了,以后你会更需要它
您需要进行多次迭代,首先将搜索向下扩展到调用堆栈,向日志添加更多的参数和变量,并可能在日志中包含一些附带例程,不直接在调用堆栈中,但在异常之前被调用,并在错误发生之前影响本地VAR值。将madExcept放入进程并从生成的错误报告中读取堆栈跟踪将madExcept放入进程并从生成的错误报告中读取堆栈跟踪