LSNSD

2012年02月09日 07:59

Notes/Domino 8.5.3 から LotusScript 処理のコールスタックをトラッキングし、NSD に出力させることができるようになっています。LotusScript 処理でクラッシュしているような場合、具体的にどこで落ちているのかを NSD で確認することができます。

notes.ini に次のエントリを追加し、Domino サーバー/Notes クライアントを再起動することで有効になります。

DEBUG_LS_DUMP=1

NSD ダンプを有効にすると、LotusScript Interpreter セクションが NSD に書き出されます。このセクションは、NSD が呼び出された時点で実行されていたすべての LotusScript のスタックトレース、およびすべての Lotus Notes/Domino プロセス内のすべてのスレッドのスタックトレースを表示します。

表示例:
<@@ ------ LotusScript Interpreter -> Call Stack for [ nlnotes: 0ef8: 1494] (Time 10:38:14) ------ @@>

[3] COUNTVIEWS
[2] GETDBINFO @ line number 7
[1] COUNTDOCUMENTS @ line number 12
[0] INITIALIZE @ line number 2


下から読んでいくので、CountViews でクラッシュしていることが出力されています。

注意:
Instr()、Ubound() などの LotusScript 組み込み関数は、コールスタックには出力されません。

非表示の設計要素は、LotusScript スタックダンプに出力されます。

memcheck を実行しないオプション (-stacks または -nomemcheck など) をともなって nsd が実行された場合は、結果の出力に LotusScript コールスタックは出力されません。

また、DEBUG_LS_DUMP が設定されている場合は、実行されている LotusScript スレッドごとに、約 3% から 6% のパフォーマンスの低下、および 32K のメモリの消費があります。この機能による実行時のオーバーヘッドは低いですが、必要な情報を生成した後は、必ず無効にしてください。LSD からのデバッグ情報の入手が必要な場合を除き、この機能を有効にしたまま Lotus Notes/Domino を長期間実行しないでください。


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://hnagasim.blog8.fc2.com/tb.php/428-401b71e2
    この記事へのトラックバック


    最新記事