ドキュメント

Unity Engine

Unity Engine

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

Understand how to use Visual Studio to debug your generated C++ code.
読み終わるまでの所要時間 5 分最終更新 1ヶ月前

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 例外を実装します。
コードの例外を調べるには、以下を行います。

追加リソース