发布网友 发布时间:2022-04-20 07:44
共1个回答
热心网友 时间:2023-06-23 11:45
目前貌似不支持断点调试,但可以通过日志打印(logcat)来跟踪。
在Android SDK中有个adb工具,使用此工具来跟踪运行的android应用:
adb logcat
启动logcat,并将设备上运行的Android应用的运行时信息全部打印出来。
adb logcat -s Unity
如果只想打印Unity的输出信息,使用此命令。
adb logcat -d > logcat.txt
将打印信息输出为文件。
当然,更直接的做法是在应用中集成自己的调试信息窗口,将如下代码关联到一个gameobject:
using UnityEngine;
using System.Collections;</p><p>public class GuiTextDebug : MonoBehaviour
{
private float windowPosition = -440.0f;
private int positionCheck = 2;
private static string windowText = "";
private Vector2 scrollViewVector = Vector2.zero;
private GUIStyle debugBoxStyle;
private float leftSide = 0.0f;
private float debugWidth = 420.0f;
public bool debugIsOn = false;
public static void debug(string newString)
{
windowText = newString + "\n" + windowText;
UnityEngine.Debug.Log(newString);
}
void Start()
{
debugBoxStyle = new GUIStyle();
debugBoxStyle.alignment = TextAnchor.UpperLeft;
leftSide = 120;
}
void OnGUI()
{
if (debugIsOn)
{
GUI.depth = 0;
GUI.BeginGroup(new Rect(windowPosition, 40.0f, leftSide, 200.0f));
scrollViewVector = GUI.BeginScrollView(new Rect (0, 0.0f, debugWidth, 200.0f),
scrollViewVector,
new Rect (0.0f, 0.0f, 400.0f, 2000.0f));
GUI.Box(new Rect(0, 0.0f, debugWidth - 20.0f, 2000.0f), windowText, debugBoxStyle);
GUI.EndScrollView();
GUI.EndGroup ();
if (GUI.Button(new Rect(leftSide, 0.0f,75.0f,40.0f), "调试"))
{
if (positionCheck == 1)
{
windowPosition = -440.0f;
positionCheck = 2;
}
else
{
windowPosition = leftSide;
positionCheck = 1;
}
}
if (GUI.Button(new Rect(leftSide + 80f,0.0f,75.0f,40.0f),"清除"))
{
windowText = "";
}
}
}
}