マイコードのみに関する警告

Grasshopperのコンポーネントのデバッグをはじめようとしたら、以下のメッセージが表示されました。

リリース ビルド TEST_001.gha デバッグ中です。コンパイラによる最適化を使用するリリース ビルドで「マイ コードのみ」を使用すると、デバッグ機能が低下します(例: ブレークポイントがヒットしない)。

で、これってナニ?メッセージを読んでも意味が分からないんだけど?

原因

調べてみると、呼び出し元のRhino、Grasshopperがリリースモードでビルドされているため、デバッグが制限される警告のようです。

デバッグしたいのはGrasshopperのコンポーネント(Grasshopper Assembly、以下GHA)なんだけど、これはRhino、Grasshopperから呼び出す構造です。

Rhino/Grasshopper → コンポーネント

GHAをデバッグモードでビルドしても、呼び出し側のRhino/Grasshopperはリリースモードでビルドされています。そこについてはデバッグできませんよ。マイコード(つまり、自分が書いたコードのみの意味?)のみじゃなくて、他のコードも含んでますからね。というような状況のようです。

対策

以下、対策です。

対策1 そのまま実行

表示された選択肢から「[マイ コードのみ]を無効にして続行」を選んで、そのままデバッグを継続する。

マイコード以外も関連しているから、そっちは無視して実行になります。

とはいえ、メッセージも選択肢も分かりにくい。

これだと次回、もしくは新しいコンポーネントのプロジェクトをはじめたときに同じメッセージが表示されます。毎回見たくない場合は、次の対策へ。

対策2 Visual Studioの設定を変更する

「デバッグを中止」を選んで、いったんデバッグを停止する。

Visual Studioのメニューから「ツール」→「オプションを選んで、

  1. デバッグの項目を選択
  2. マイ コードのみを有効にする」のチェックを外す

これ以降、マイコードのメッセージは表示されなくなります。

まとめ

Rhino/Grasshopperのコンポーネントのデバッグで表示されましたが、DLLのデバッグでも呼び出し側がリリースモードだと同じワーニングが表示されるはずです。

市販製品のプラグインを作るケースではありがちな状況です。分かりにくいメッセージはともかく、設定で回避することができます。

動作環境

以下の環境で動作を確認しています。

  • Windows11 Pro(64bit, 24H2)
  • Rhinoceros 8 SR22
  • Visual Studio Professional 2022 Version 17.14.13 (August 2025)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です