Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 监控和提高数据库性能 » 提高数据库性能 » 使用诊断跟踪进行高级应用程序分析

 

调试应用程序逻辑

如果在应用程序代码中或在存储的过程、触发器、函数或事件中存在错误,则检查由数据库服务器执行且与不正确的代码相关的所有语句可能非常有用。对于动态生成 SQL 的应用程序,您可以检查数据库服务器所看到的实际文本,以检测应用程序构建 SQL 文本方法中的错误。此类错误可能导致查询执行失败,或返回与查询要返回的结果不同的结果。例如,在开发期间,您的应用程序可能偶而报告遇到 SQL 语法错误,但是您的应用程序并未编制为报告失败查询的 SQL 文本。如果在应用程序运行时进行跟踪,则可以查找返回语法(或其它)错误的语句,并查看应用程序所生成的确切文本。

对于内部数据库对象(如过程和触发器),可以使用 Sybase Central 中的调试程序。但有时这样做可能会更有效:让数据库服务器跟踪给定过程执行的所有语句,然后使用应用程序分析工具来检查这些语句。例如,给定的存储过程调用 1000 次可能返回一个错误结果,但您并不清楚在什么条件下出现了故障。此时您应对该过程启用诊断跟踪并运行应用程序,而不是在调试程序中单步执行 1000 次过程代码。然后,您可以检查数据库服务器执行的语句集,查找与不正确的过程执行相对应的语句集,并确定过程失败的原因或在何种条件下过程出现异常行为。如果您知道在何种条件下过程出现异常行为,您就可以在过程中设置断点并使用调试程序进一步查找原因。请参见调试过程、函数、触发器和事件