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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » パフォーマンスの向上、診断、モニタリング » パフォーマンスのモニタリングと診断のツール » 診断トレーシング

 

アプリケーション論理のデバッグ用のツール

アプリケーションのコードやストアドプロシージャー、トリガー、関数、またはイベントにエラーがある場合は、データベースサーバーで実行された、不正なコードに関連する文をすべて確認することをおすすめします。SQL を動的に生成するアプリケーションでは、データベースサーバーに渡される実際のテキストを確認して、アプリケーションで SQL のテキストが作成される方法のエラーを検出できます。このようなエラーがあると、クエリの実行に失敗するか、予想とは異なる結果がクエリから返される可能性があります。たとえば、開発時にアプリケーションで SQL 構文エラーが発生したと報告されるが、失敗したクエリの SQL テキストを報告する機能がアプリケーションにないとします。アプリケーションの実行時のトレースがあった場合、構文 (またはその他の) エラーを返した文を検索し、アプリケーションで生成された正確なテキストを確認できます。

プロシージャーやトリガーなどの内部データベースオブジェクトには、Sybase Central のデバッガーを使用できます。ただし、データベースサーバーで、特定のプロシージャーによって実行される文をすべてトレースするようにして、アプリケーションプロファイリングツールを使用してこれらの文を確認した方が効果的である場合もあります。たとえば、特定のストアドプロシージャーが、呼び出し 1000 回のうち 1 回、不正な結果を返すが、失敗する条件がわからないとします。この場合、デバッガーでプロシージャーのコードを 1000 回実行しないで、このプロシージャーの診断トレーシングをオンにしてアプリケーションを実行できます。次に、データベースサーバーで実行された一連の文を確認し、プロシージャーの不正な実行に対応する一連の文を見つけ、プロシージャーが失敗した理由または予想外の動作をする条件を特定できます。プロシージャーが予想外の動作をする条件がわかれば、プロシージャーにブレークポイントを設定し、デバッガーで詳細に調べることができます。

 参照