NetCOBOL 技術情報:トラブルシューティング
エラー
Windows x86
NetCOBOL
Q
MeFt/Webを利用したCOBOLアプリケーションの実行で、JMP0092I-Uが発生します。
A
原因としてデスクトップヒープの枯渇が考えられます。起動するアプリケーション数を制限する、またはデスクトップヒープの利用方法をチューニングするなどの方法でデスクトップヒープの枯渇が発生しないように回避してください。
Windows NT系列のWindowsシステムには、デスクトップヒープというメモリ資源があります。このデスクトップヒープは、システム全体としてサイズが有限なため、枯渇してしまうとアプリケーション起動に失敗するなど、様々な現象が発生します。
メッセージ「JMP0092I-U ウィンドウクラス '~' の登録に失敗しました」が発生する現象についても、アプリケーションのプロセスが多数起動してデスクトップヒープが枯渇した状態で、新たにプロセスを起動することで発生します。
Windowsシステムの制限であるため、MeFt/Webを含むNetCOBOL製品側で対策を講じることはできません。また、アプリケーションのプロセスがデスクトップヒープをどれだけ使用するか計測する方法について、Microsoft社から具体的な方法は提示されていません。
【ご参考】
Microsoftのサポートオンライン(Microsoft社のページへリンク)
なお、以下のMicrosoft社の記載内容に該当する場合は、 イベントログに「イベント ID 243」が記録されます。
- Microsoftのサポートオンライン(Microsoft社のページへリンク)
