歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android下調試Unity3D應用

目前貌似不支持斷點調試,但可以通過日志打印(logcat)來跟蹤。

在Android SDK中有個adb工具,使用此工具來跟蹤運行的android應用:

  1. adb logcat  

啟動logcat,並將設備上運行的android應用的運行時信息全部打印出來。

  1. adb logcat -s Unity  

如果只想打印Unity的輸出信息,使用此命令。

  1. adb logcat -d > logcat.txt  

將打印信息輸出為文件。 

當然,更直接的做法是在應用中集成自己的調試信息窗口,將如下代碼關聯到一個gameobject:

  1. using UnityEngine;  
  2. using System.Collections;</p><p>public class GuiTextDebug : MonoBehaviour   
  3. {  
  4.  private float windowPosition = -440.0f;  
  5.  private int positionCheck = 2;  
  6.  private static string windowText = "";  
  7.  private Vector2 scrollViewVector = Vector2.zero;  
  8.  private GUIStyle debugBoxStyle;  
  9.    
  10.  private float leftSide = 0.0f;  
  11.  private float debugWidth = 420.0f;  
  12.    
  13.  public bool debugIsOn = false;  
  14.    
  15.  public static void debug(string newString)  
  16.  {  
  17.   windowText = newString + "\n" + windowText;  
  18.   UnityEngine.Debug.Log(newString);  
  19.  }  
  20.     
  21.  void Start()   
  22.     {  
  23.   debugBoxStyle = new GUIStyle();  
  24.   debugBoxStyle.alignment = TextAnchor.UpperLeft;  
  25.   leftSide = 120;  
  26.  }  
  27.     
  28.    
  29.  void OnGUI()   
  30.     {  
  31.   if (debugIsOn)   
  32.         {  
  33.    GUI.depth = 0;    
  34.    GUI.BeginGroup(new Rect(windowPosition, 40.0f, leftSide, 200.0f));  
  35.      
  36.    scrollViewVector = GUI.BeginScrollView(new Rect (0, 0.0f, debugWidth, 200.0f),   
  37.                                                    scrollViewVector,   
  38.                                                    new Rect (0.0f, 0.0f, 400.0f, 2000.0f));  
  39.    GUI.Box(new Rect(0, 0.0f, debugWidth - 20.0f, 2000.0f), windowText, debugBoxStyle);  
  40.    GUI.EndScrollView();  
  41.      
  42.    GUI.EndGroup ();  
  43.      
  44.    if (GUI.Button(new Rect(leftSide, 0.0f,75.0f,40.0f), "調試"))  
  45.             {  
  46.     if (positionCheck == 1)  
  47.                 {  
  48.      windowPosition = -440.0f;  
  49.      positionCheck = 2;  
  50.     }  
  51.     else   
  52.                 {  
  53.      windowPosition = leftSide;  
  54.      positionCheck = 1;  
  55.     }  
  56.    }  
  57.      
  58.    if (GUI.Button(new Rect(leftSide + 80f,0.0f,75.0f,40.0f),"清除"))  
  59.             {  
  60.     windowText = "";  
  61.    }  
  62.   }  
  63.  }  
  64. }  
Copyright © Linux教程網 All Rights Reserved