我正在处理一堆遗留的 ColdFusion 应用程序,并且来自 Java 背景,调试某些东西真的很难。所以我现在为了调试,我放置了 writeDump()
或 <cfdump>
在这个地方打电话,首先获得应用程序的流程(这是一个巨大的东西),其次获得一些关于变量值的信息。这是一个痛苦的过程,所以我在想是否有办法至少在某种程度上“自动化”它。
我知道我可以在每个函数的开头放置一个日志/转储调用,但这将是一项艰巨的任务。
我知道在 Java 中我可以使用面向方面的编程库(例如 How to use AOP with AspectJ for logging? ),因此我可以为类中的所有方法定义切入点,并基于它执行我想要的日志记录逻辑(记录方法名称)。
ColdFusion 中有类似的东西吗?我的要求是在不修改现有代码的情况下使用它,尽可能广泛以便我不需要告诉它记录每个方法,并且易于配置以便我可以添加/删除/更改哪些组件跟踪和记录。
最佳答案
你有没有打开基本debugging in your local CF Admin ?这将在呈现页面的底部输出整个当前堆栈请求。它会向您显示请求的哪一部分运行缓慢,以及哪些查询是请求的一部分。它还将向您显示哪一行引发了错误以及之前的哪一行代码调用了它。
您也可以考虑使用 Fusion Reactor在生产中帮助重现生产中的错误并找到那些尚未报告的错误。无需更改代码即可实现它,而且我在过去一年半的时间里一直在管理的旧版 CF 应用程序非常值得付出代价。
关于debugging - 如何记录 ColdFusion 应用程序中用于调试的所有方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932311/