最終更新日 2024-09-25

Visual Studio でのデバッグやステップ実行

概要

DllExport で作成した dll も、Visual Studio でデバッグすることができます。

Debug ビルドとする

ステップ実行等、デバッグするならDebug ビルドする必要があります。

デバッグの「外部プログラムの開始」にHidemaru.exe を指定

プロジェクトのプロパティのデバッグの項目で、「外部プログラムの開始」に、ご自身のHidemaru.exe のフルパスを指定してください。

Visual Studioのプロジェクトプロパティ「デバッグ」タブ。開始動作として「外部プログラムの開始」を選択し、秀丸エディタの実行ファイルパスを指定している様子。

ブレイクポイントの設定

C#ソースコード上の左端をクリックして、実行を一時停止するための赤丸(ブレイクポイント)を設定した画面。

Debugビルドのx86 の下にある「.dll」と「.pdb」をコピーして...

Debugビルドのx86 の下にある「.dll」と「.pdb」をCTRL+Cでコピーします。
もしも、「秀丸エディタ64bit版」なら x64の下にあるファイルをCTRL+Cでコピーします。

ビルド出力フォルダを表示したエクスプローラー。DLLファイルとデバッグ情報ファイル(PDB)が選択されている様子。

自身のマクロファイル(.mac)のフォルダへとペースト(上書き)

マクロファイルが配置されているフォルダ。コピーしたDLLとPDBファイルを貼り付け、上書き保存しようとしている操作。

デバッグの開始

Visual Studioのツールバー。「開始」ボタン(またはF5キー)を押してデバッグ実行を開始する様子。

秀丸が立ち上がるので、そこからマクロを実行

この際、原則的に起動した時に「一番左に見えているタブ」が、デバッグ実行の対象のプロセスに対応します。
秀丸で新たなファイルを開いた時、2つ目のタブができたとしたら、それは今デバッグしているプロセスとは無関係です。
ファイルを全て閉じ、1つだけ開いた場合も、原則的に、デバッグ中のプロセスとなると考えればいいでしょう。

デバッグ実行によって起動した秀丸エディタの画面。マクロメニューから作成したマクロを実行しようとしている様子。

ブレイクポイントに引っかかるので、ステップ実行が可能

ブレイクポイントで実行が停止したVisual Studioの画面。黄色い矢印で現在の実行行が示され、ステップ実行が可能な状態。

Trace.WriteLine("****"); の出力先は?

これは普通のC#プログラム同様、「出力タブ」に表示されます。

Visual Studioの「出力」ウィンドウ。Trace.WriteLineで出力したデバッグログが表示されている画面。