Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[Tutorial] Depuración de Código en Unity (Visual Studio y MonoDevelop)

Iniciado por 0nironauta, Julio 08, 2015, 06:12:56 PM

Tema anterior - Siguiente tema

Buenas, seguramente a muchos de vosotros no os diga nada nuevo, pero para la gente que se está iniciando en la programación, es posible que no sepan cómo usar un debugger, así que creo que este tutorial le puede servir a los que empiezan.

 

He pensado que si alguien quiere añadir trucos o utilidades, o contar cómo depura él el código, podemos usar este hilo para ello. Un saludo.

 

http://unityvs.com/screen/vs.png" rel="external nofollow">
 
Para los que uséis Visual Studio con Unity, os puede interesar saber que se puede integrar el Debugger, al igual que se puede hacer con MonoDevelop.
 
En este tutorial voy a explicar cómo integrar y cómo usar el depurador de código, que puede ahorrar mucho tiempo cuando nos acostumbramos a usarlo.
 
Instalación
 
1.- Descargar e instalar https://visualstudiogallery.msdn.microsoft.com/20b80b8c-659b-45ef-96c1-437828fe7cf2" rel="external nofollow">Visual Studio Tools for Unity. La versión enlazada es la de 2013, pero cuando este artículo envejezca puede ser razonable instalar la más reciente (la versión 2015 no ha salido aún).
 
2.- En Unity -> Build Settings, marcar las casillas Development Build y Script Debugging. Por cierto, desde Unity 5 tenemos el Profiler gratuito. Es muy buena herramienta para medir el rendimiento de nuestro proyecto. Os aconsejo que lo probéis.
 

http://unityvs.com/screen/unity-target.png" rel="external nofollow">
 
3.- Importar el paquete Visual Studio Tools a Unity. Si no lo encontramos en el menú Assets -> Import Package, podemos localizarlo en la ruta:
C:\Program Files (x86)\Microsoft Visual Studio Tools for Unity\201X
El archivo tiene la extensión .unitypackage, por lo que podemos pinchar dos veces para importarlo a nuestro proyecto.
 
4.- Nos creará un menú para estas utilidades. Abrimos Visual Studio desde Unity.
 

http://unityvs.com/screen/open-vstu.png" rel="external nofollow">
 
 
Uso


1.- Colocar Breakpoints: Son puntos donde podemos detener la ejecución del programa. Elegimos cualquier línea de código (normalmente la que nos interesa. No usar declaraciones de funciones), pinchamos en el marco a la izquierda del número de línea, y veremos que aparece un punto rojo. Cuando el programa llegue a ese punto, se detendrá.

 

http://unityvs.com/screen/vs.png" rel="external nofollow">


 

 

2.- Cuando tenemos los breakpoints preparados, pulsamos el botón Attach to Unity o F5. También tenemos la opción en el menú DEBUG. Nos pedirá que seleccionemos la instancia de Unity que se está ejecutando. La seleccionamos y le damos a aceptar. Visual Studio pasará a modo DEBUGGER.

En MonoDevelop, sólo tenemos que pulsar PLAY. 

 

3.- Pulsar Play en Unity y probar el juego. Cuando el flujo llegue al breakpoint, Unity pasará a modo PAUSA (aunque no es como si hubiésemos pulsado el botón de pausa, sino que está detenida su ejecución desde Visual Studio).

 

4.- La siguiente imagen es del MonoDevelop, pero en Visual Studio es igual (bueno un poco más completo quizás). Una vez que el programa está detenido, podemos observar el contenido de las variables y los atributos en ese momento de la ejecución.

Con esta herramienta podemos comprobar fácilmente cuántas veces se entra en una función y en qué momento y qué valor tienen los atributos de las clases en un momento dado.

 

https://unity3d.com/sites/default/files/styles/original/public/learn/MDDebugging05.png?itok=URdYOxRv" rel="external nofollow">


 

5.- Una vez que estamos detenidos en un breakpoint podemos pulsar el botón continue para continuar con la ejecución normal. A parte, podemos detener la depuración en el menú DEBUG -> Stop.

 

6.- Breakpoints condicionales. Podemos hacer que el programa se detenga sólo cuando cierta variable tiene un valor. Para ello, fuera del modo DEBUG, pulsamos con el botón derecho en el breakpoint y vamos a sus propiedades. Esto nos permite aún más flexibilidad, ya que podemos controlar casos límite.

 

https://unity3d.com/sites/default/files/styles/original/public/learn/MDDebugging07.png?itok=8gKQYwbq" rel="external nofollow">


 

 

Espero que os sirva para depurar vuestros juegos este verano. Normalmente en proyectos pequeños no hace falta usar un debugger, pero cuando va creciendo llega un momento en el que vamos a tardar mucho menos encontrando errores de esta manera.

He añadido este tuto a la sección de tutoriales también.

Visita mi blog: cKolmos.blogspot.com



Etiquetas: