firebird - Firebird 中是否有详细的调试功能?
问题描述
我想调试一个程序的执行。在这个过程后面有几个触发器和事务。在此过程中更新了一个数据集,其行为与所有其他数据集不同。所以想详细调试一下。
我已经尝试使用普通的过程调试器进行调试,但这只是表面上的调试,所以它只调试这个过程,而不是跳转到这个执行中包含的所有表/过程/触发器。
我也尝试使用跟踪和审计功能,但这太混乱了,它显示了太多我不需要的信息。
基本上我需要知道是否有可能像在其他IDE(例如Eclipse)中那样进行详细调试。
解决方案
这可能不是您正在寻找的答案,但过去对我有用。
我所做的代替调试以捕获运行时统计信息和流程如下。
在 Firebird 2.5 中,您拥有自主事务。我有一个存储过程,它接受上下文描述和消息。在 SP 中,我将上下文和消息以及时间戳插入到一个认为用于记录的 Firebird 表中。我将该插入语句包装在“IN AUTONOMOUS TRANSACTION”中。该事务将立即提交该事务,并允许我在过程执行时查看该表中的行。
您可以捕获经过的时间或其他统计信息。这样做的缺点是您需要更新您想要从中获取信息的存储过程和触发器,因此在生产系统中可能不允许这样做。
推荐阅读
- html - 滚动通过 iframe 元素时,滚动捕捉不起作用或跳到底部?
- mongodb - Kafka Connect - MongoDB 源连接器 - 管道不工作
- python - 从 Google 聊天组获取聊天消息
- azure - 在注册流程中使用 azure ad b2b 将来宾用户添加到组
- typescript - Adonis V5 Lucid - 条件查询
- c++ - 在 C++ 中的 unordered_map 中排序
- webgl - 为什么 iOS 15 上的 safari 对着色器属性名称很挑剔
- python - 估计两个二维点云之间的旋转
- javascript - Vue连接到firebase - 未捕获的FirebaseError:firebase.initilializeApp中未提供“projectId”
- flutter - 在颤动中塑造应用程序栏