Cómo depurar proyectos en Visual Chart 6 (2). Solucionar conflictos.

La depuración de proyectos (en inglés, debugging) es el proceso mediante el cual conseguimos detectar y solucionar posibles errores de programación a base de ejecutar el código fuente paso a paso de forma manual, e ir observando los valores que van tomando los distintos elementos de dicho código.

En uno de nuestros artículos del blog de desarrollo, explicábamos cómo poner en macha la depuración de proyectos (estrategias, indicadores o estudios) en Visual Chart 6. Pueden acceder al artículo desde el siguiente enlace.

Aunque la ejecución de la depuración debería funcionar siguiendo las pautas especificadas en dicho artículo, a veces sucede que el proceso no es posible llevarlo a cabo. A continuación, vamos a dar algunos consejos a través de los cuales se deberían de solucionar los posibles conflictos con los que podemos encontrarnos.

Conflicto 1: No coge el punto de interrupción
El problema más común con el que podemos encontrarnos es que, aunque activemos la depuración en el código fuente, al insertar la estrategia, no pare el proceso en el punto o puntos de interrupción que hayamos puesto.

El motivo por el cual ocurre esto es a causa de que el código de los proyectos está compilado en la configuración Release que realiza optimizaciones sobre el código. Esas optimizaciones son muy deseables, ya que hacen que el programa se ejecute mucho más rápido (según el caso puede suponer que la ejecución sea seis o siete veces más rápida). Esas optimizaciones hacen que la "imagen binaria" del proyecto no coincida exactamente con la disposición del código que vemos en Visual Studio, y por eso no se activan los puntos de interrupción. 

¿Cómo evitamos esto? Para evitar esto y poder depurar sin problemas, basta con ir a las propiedades del proyecto y deshabilitar las optimizaciones, una vez hayamos depurado el código debemos volver a activarlas y compilar para que el plugin se almacene en la nube optimizado.

Los pasos a dar serían los siguientes:
Proyectos en VB.NET 
1. Desde el Explorador de soluciones, seleccionamos con el botón derecho el icono MyProject y seguidamente pinchamos la opción Abrir.
2. Seleccionamos la opción Compilar. Una vez esté la ventana de propiedades de Compilación abierta, pinchamos en el botón Opciones de compilación avanzadas...
3. En la ventana de Opciones de compilación avanzadas, desmarcamos la casilla Habilitar optimizaciones.

Proyectos en C#
1.Desde el Explorador de soluciones, seleccionamos el icono del proyecto con el botón derecho y pinchamos en Propiedades.
2. Seleccionamos la opción Compilación, y una vez allí, desmarcamos la casilla Optimizar código.

Para finalizar, seleccionamos Recompilar solución para guardar los cambios.

Para que funcione correctamente el cambio, antes de depurar, hay que recompilar y eliminar el proyecto del gráfico o gráficos donde esté insertado en Visual Chart 6.

Una vez nos aseguramos de que la estrategia, estudio o indicador no está aplicado sobre ningún gráfico, le damos a depurar y seguidamente volvemos a insertar el proyecto sobre un gráfico. Hecho esto, el proceso debería de detenerse en el punto de interrupción que hayamos puesto.
Para permitir que el programa siga ejecutándose de forma más rápida, es importante volver marcar la casilla de optimización (y volver a recompilar) cuando acabemos de realizar la depuración. 

Conflicto 2: No muestra el valor de las variables en la ventana de inspección
Aunque consigamos que el proceso se detenga en los puntos de interrupción que añadamos, también puede ocurrir que no podamos consultar los datos que va tomando el código fuente, debido a que cuando consultamos una variable desde la ventana de inspección, nos aparece un mensaje de error como el que se muestra a continuación:

Obviamente, aunque hayamos podido poner en funcionamiento el proceso de depuración, si no podemos consultar los valores de las variables no nos va a servir de nada. ¿Cómo solucionar esto?

Para ello, debemos seguir los siguientes pasos:

1. Paramos la depuración y cerramos Visual Chart 6.
2. Accedemos a la carpeta Data de VisualChart que podemos localizar utilizando la siguiente ruta:

%APPDATA%\VisualChart\6\Data\

3. Dentro de dicha carpeta, buscamos la carpeta temp y la eliminamos.

4. Una vez hemos hecho esto, volvemos a abrir Visual Chart 6 y volvemos a probar a ejecutar la depuración, recordando desmarcar la casilla de optimización. Después de esto, ahora el valor de las variables sí que debería mostrarse sin ningún error:

Comentarios

  1. Hola,

    no consigo debugar: al agregar un breakpoint en Visual Studio 2015 Express, aparece el mensaje "El punto de ejecución no se activará automáticamente", y cuando inserto el indicador en el gráfico, no coge el punto de interrupción. He seguido todas vuestras indicaciones. Utilizo Windows 10.

    ResponderEliminar
  2. En teoría con los pasos indicados en el artículo debería de cogerlo. Podemos ver en concreto que ocurre en su caso. Si puede, escriba a sistemas@visualchart.com y tratamos el tema con detalle.

    ResponderEliminar
  3. referente al problema de no poder debugar, finalmente tras mucha prueba y error, aislé el problema:

    es debido a tener instalado el siguiente componente de Office 2007:
    Excel - Compatibilidad con Programación de . Net

    Si desinstalo ese componente de Office 2007, es posible debugar VC6,

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Trading Tools: Descarga de históricos para Visual Chart 6

KDJ - Indicador Stochastic %J

El indicador Relative Strength Mansfield with Index