Version: Unity 6.0 (6000.0)
言語 : 日本語
C# コードのデバッグ
UWP 用の C# スクリプトの WinRT API

生成された C++ コードのデバッグ

Visual Studio を使用して、ユニバーサル Windows プラットフォーム (UWP) アプリケーション用に生成された C++ コードをデバッグできます。

生成された C++ コードのクラスとメソッドの名前

IL2CPP クラス

IL2CPP クラスは、<ClassName>_t#number の形式に従います。

  • <ClassName> はクラス名
  • 任意の #number は一意のタイプ番号です。

IL2CPP クラスの例:

IL2CPP メソッド

IL2CPP メソッドは、<ClassName>_<MethodName>_m#number の形式に従います。

  • <ClassName> はメソッドの宣言型のクラス名
  • <MethodName> はメソッド名
  • #number は一意のメソッド番号

IL2CPP メソッドの例:

IL2CPP 静的フィールド構造体

静的フィールド構造体は、<ClassName>_t#number_StaticFields の形式に従います。構造体名の最初の部分は宣言型と同じです。

静的フィールド構造体の例:

  • StringBuilder_t26_StaticFields
  • Thing_t24_StaticFields

C++ コメント

各クラスまたはメソッド定義の前に、C++ は完全なクラスまたはメソッド名を示すコメントを自動的に生成します。

C++ コメントの例:

    // System.Text.StringBuilder
    struct StringBuilder_t26  : public Object_t
    {
        // System.Int32 System.Text.StringBuilder::_length
        int32_t length_1;
        // System.Int32 System.Text.StringBuilder::_maxCapacity
        int32_t maxCapacity_2;
    };

変数の値の確認

生成された C++ コードは、Visual Studio デバッガーを使用して変数の値を確認することでデバッグできます。

デバッガーを停止したい場所に Visual Studio でブレークポイントを設定して変数を確認できます。Visual Studio では、変数にマウスオーバーするか、Watch ウィンドウを使用して変数の値を確認できます。

静的フィールドの確認

IL2CPP では、Unity は Il2CppClass インスタンスに静的フィールドを格納します。静的フィールドの値を確認するには、以下を行う必要があります。

  1. コード内でその型の Il2CppClass 構造体へのポインターを探します。
    注意これらのポインターは、使用するメソッドのスコープ内にありますが、1 回確認した後は、アプリケーション実行中、同じメモリアドレスにとどまります。
  2. そのポインタから static_fields フィールドの値を取得します。これは、その特定の型の静的フィールドを含むメモリブロックへのポインターです。
  3. 対応する静的フィールド構造体に値をキャストします。
  4. Visual Studio デバッガーで値を確認します。

例外の検証

IL2CPP はネイティブ C++ 例外を使用して .NET 例外を実装します。

コードの例外を調べるには、以下を行います。

追加リソース

C# コードのデバッグ
UWP 用の C# スクリプトの WinRT API