本トピックの情報のほとんどは、コンテナー化された COBOL アプリケーションのデバッグに関する一般的な情報について説明した他のトピックにも記載されています。ここでは、それらを要約した情報を示しています。
コンテナーで実行されるマネージ COBOL アプリケーションのデバッグでは、Microsoft リモート ツールのリモート デバッグ機能を使用します。そのため、この目的に使用するイメージを作成するときは、イメージに次の追加ファイルを含める必要があります。
VS_RemoteTools.exe をまだ入手していない場合は、Microsoft のサイトからダウンロードする (「Microsoft: Remote Debugging a C# or Visual Basic project in Visual Studio」を参照) か、Build_HelloWorld Docker デモンストレーションの bld.bat ファイルに示す Powershell コマンドを使用できます。
これらの手順を実行するために Dockerfile に含めることができる一般的なコマンドを次に示します。
COPY VS_RemoteTools.exe "${APPDIR}\\" RUN VS_RemoteTools.exe /install /quiet /norestart && \ del VS_RemoteTools.exe && \ setx /M PATH "%PATH%;C:\\Program Files\\Microsoft Visual Studio 15.0\\Common7\\IDE\\Remote Debugger\\x64" ... CMD msvsmon.exe /nostatus /silent /noauth /anyuser /nosecuritywarn
Microsoft のリモート デバッグの詳細については、「Microsoft: Remote Debugging a C# or Visual Basic project in Visual Studio」を参照してください。この記事は C# および Visual Basic について説明したものですが、リモート デバッグを使用する方法はマネージ COBOL でもほぼ同じです。
これを行うために Dockerfile に含めることができる一般的なコマンドを次に示します。
COPY [ "%Program Files%\Microsoft Visual Studio\2017\Professional\Common 7\IDE\Remote Debugger\x64\MicroFocus.COBOL.ExpressionEvaluator.Remote.dll" , "\Program Files\Microsoft Visual Studio 15.0\Common7\IDE\Remote Debugger\x64" ]
マネージ COBOL のサポートについて、Micro Focus ではデバッグが必要なマネージ COBOL アプリケーションを含むイメージのみにインストールすることをお勧めします。これは、サポートを使用しないイメージでディスク スペースや他のリソースが無駄に使用されるのを防ぐためです。
別の方法として、マネージ COBOL 固有のバージョンの Visual COBOL ベース イメージを作成することもできます。これを行うには、Visual COBOL ベース イメージを用意し、そのイメージにマネージ COBOL のサポートを追加します。この方法では、ネイティブ COBOL アプリケーションのデバッグに使用する Visual COBOL イメージとは別に、マネージ COBOL アプリケーションのデバッグに使用する Visual COBOL イメージを作成することになります。
デバッグ対象のマネージ COBOL アプリケーションを含むイメージを起動する手順はアプリケーションがネイティブの場合と同じですが、次の点が異なります。
たとえば、コンテナーのデフォルトのエントリポイントを使用する、Docker Run でエントリポイントを上書きする、Docker exec で起動するなどの方法があります。
そのためには、次のように docker run コマンド オプションで処理できる最上位のフォルダーでボリュームのマウントを行うと最も簡単です。
-v C:\ManagedCOBOLApp:C:\ManagedCOBOLApp
マネージ COBOL アプリケーションを実行しているコンテナーに [Attach to Process] オプションを使用して接続する手順はアプリケーションがネイティブの場合と同じですが、次の点が異なります。