Skip to content

Instantly share code, notes, and snippets.

@neguse11
Last active January 13, 2016 11:48
Show Gist options
  • Save neguse11/bd550d902fdf9ba6503a to your computer and use it in GitHub Desktop.
Save neguse11/bd550d902fdf9ba6503a to your computer and use it in GitHub Desktop.
CM3D2でのVisual Studioデバッガ使用方法

1.07, x64用。バックアップをとってから試してね

  1. Visual Studio Community 2015 をインストール
  2. https://www.visualstudio.com/features/unitytools-vs の 「無償 VS Tools for Unity」から「vstu2015.msi」をダウンロードしてインストール
  3. http://www.mono-project.com/download/#download-win から「mono-4.0.3-gtksharp-2.12.26-win32-0.msi」をダウンロードしてインストール
  4. http://unity3d.com/jp/get-unity/download/archive の「Unity 4.6.8」内にある「Unity エディター」から「UnitySetup-4.6.8.exe」をダウンロード。*インストールはしない*
  5. 「UnitySetup-4.6.8.exe」を 7z とかで展開して、「$_OUTDIR/windowsstandalonesupport/Variations/win64_development/player_win.exe」を「C:\CM3D2_KAIZOU\CM3D2x64.exe」として上書きコピー
  6. 「C:\CM3D2_KAIZOU\CM3D2x64_Data\PlayerConnectionConfigFile」を開き、「listen 1719714488 0 0」を「listen 1719714488 1 1」に書き換え
  7. ここで、一旦「C:\CM3D2_KAIZOU\CM3D2x64.exe」を起動して右下に「Deveopment Build」の表示が出るのを確かめる
  8. さらにVisual Studioを起動して「DEBUG -> Attach Unity Debugger」を実行。「Select Unity Instance」ダイアログが出るので、その中に「WindowsPlayer」があることを確認
  9. まだデバッグはできないので、とりあえず確認したら、Visual StudioとCM3D2x64.exeを閉じる
  10. UnityInjector用プラグインをデバッグビルドする (CM3D2.hoge.Plugin.dll とします。pdbも出ていることを確認してね)
  11. コマンドラインでDLLが生成されたディレクトリ(bin/Debug/など)に移動して、"C:\Program Files (x86)\Mono\Bin\pdb2mdb.bat" CM3D2.hoge.Plugin.dllを実行。実行に成功すると「CM3D2.hoge.Plugin.dll.mdb」が出力される
  12. 「CM3D2.hoge.Plugin.dll」と「CM3D2.hoge.Plugin.dll.mdb」をUnityInjectorフォルダーへコピー
  13. 7と8を実行してデバッガをアタッチする
  14. CM3D2.hoge.Plugin.dll内のコードでブレークポイントをつけてみて、停止すれば成功

KSP民の努力に感謝

注意点 : Unityプレイヤーのバージョンを合わせる

バニラのCM3D2x64.exeと差し替えるplayer_win.exeのバージョンを合わせないと、うまく動かないときがあります。 バージョンはエクスプローラーでバニラのCM3D2x64.exeのプロパティーを出して「詳細」タブの「製品バージョン」で確認できます。 この「製品バージョン」と同じバージョンのUnityに含まれるplayer_win.exeを使ってください。

Monoのバージョン

古い Mono (4より前) や Unity (4.x) に含まれるpdb2mdbは新しいVisual C#が出力するpdbファイルに対応していません。 新しい Mono (4.x) や Unity (5.x) に含まれるpdb2mdbを使ってください

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment