2

ロータス スクリプトのデバッグを使用して、ロータス スクリプト エージェントをデバッグしています。エージェントは正常にデバッグしていますが、その中に別のロータス スクリプト エージェントがあり、デバッガーがそのコード行ごとに移動していません。これを行う方法を教えてください。前もって感謝します。

4

2 に答える 2

4

別のエージェントからスクリプトで呼び出されるエージェントは、バックグラウンドで実行されます。これらのエージェントは簡単にデバッグできません。呼び出されたエージェントがサーバー上で実行されている場合、リモート デバッガーを使用してそのエージェントをデバッグできます。サーバー ドキュメントでそれを有効にし、リモート デバッグ タスクを開始し、呼び出されたエージェントのプロパティでリモート デバッグを有効にする必要があります。それからあなたは速くなければなりません。各エージェントが実際にコードを開始する前に、デバッガーがアタッチするまで待機する遅延を定義します。この間、リモート デバッガーを起動し、データベースを開き、デバッグするエージェントを選択する必要があります... かなり面倒です。また、通常のデバッガーはオフにする必要があり、起動するエージェントはクライアント バックグラウンド モードで実行する必要があります。そうしないと、リモート デバッガーに切り替えることができません...

両方のエージェントが LotusScript であり、それが必要ない場合は、次のことを行う必要があります。

別の権限で実行するか、別のサーバーで実行します。

通常、エージェントが別のエージェントを呼び出す必要はありません。代わりに script-library と subs / functions を使用すると、2 つのエージェントは必要ありません...

于 2013-07-26T06:19:41.123 に答える
0

2 番目のエージェントで単純なログを使用することをお勧めします。NotesLog (Domino Developer's Help を参照) を使用するか、必要に応じて独自のクラスを作成できます。

私のアプリでは、私が作成した LotusScript フレームワークを使用しています。そのフレームワークには、LogAgents.nsf データベースに接続し、単純なドキュメントにすべてを書き込む CS_Log クラスがあります。また、たとえば、ドキュメントの完全なコンテンツを書き込む Dump メソッドを備えた CS_Document クラスがあります。

ほとんどの場合、デバッグが最良のオプションです。しかし、このような場合は、ログにすべてを書き込むことを好みます。

于 2013-07-27T04:49:48.680 に答える