時間をさかのぼって VB6 フォームをデバッグする必要があります。これはアプリケーション内で使用されます (私たちのものではなく、Esri ArcMap.exe)。VB6 にはいくつかのデバッグ機能があるようですが、.NET のように、実行中のアプリケーションに「別のアプリを起動」または「アタッチ」する機能はどこにもありません。
サードパーティ アプリケーション内で実行中に VB6 コードをデバッグするにはどうすればよいですか?
すぐそこです。あなたはそれを見なかっただけです。
フォームが DLL 内でホストされている場合 (おそらく説明から)、2 つのオプションがあり、どちらも [プロジェクト] -> [プロジェクト名のプロパティ] ダイアログ ボックスの [デバッグ] タブから設定できます。
「コンポーネントが作成されるのを待ちます」
実行 ( F5) をクリックすると、VB6 は DLL のレジストリ エントリを変更して、VB6 デバッガを指すようにします。
通常どおりサードパーティ プログラムを起動します。
プログラムが DLL によってホストされるオブジェクトとフォームを作成しようとすると、デバッガを介して作成されます。
「プログラムの開始」前と
同じで、VB6 はダイアログ ボックスに入力されたコマンド ラインを実行します。
VB6 は、レジストリの通常保護されている領域に書き込む必要があるため、完全な「管理者として」モードで実行する必要があることに注意してください。
3 番目のオプションについて心配する必要はありません。いくつかのことは忘れた方がよいとだけ言っておきましょう。
私の直接の知識は少し漠然としています (私は、このすべてが構成された PC を継承しており、最初から再設定するつもりはありません...)、次のようになります。
ESRI Compile and Registerと呼ばれる ESRI VB6 アドインがあり、このプロセス全体をはるかに簡単にするはずです。
そのリンクには多くの指示がありますが、重要なものの 1 つは [オプション] -> [Visual Basic デバッガーのサポート] の下にあり、ファイルを作成しますESRIVBDebugHelper.exe
。
[プロジェクト] -> [プロパティ] -> [デバッグ] タブの [プログラムの開始] で、このへのフル パスを入力しますESRIVBDebugHelper.exe
。次に、VB6 アプリケーションをデバッグすると、ArcMapが生成され、VB6 IDE 内でオンザフライでデバッグできるようになります。