Hola, aquí en mi equipo de trabajo nos hemos encontrado con dos situaciones extrañas a la hora de depurar código. Por más que hemos buscado por Internet no hemos dado con ninguna solución, ni siquiera con una causa. Os cuento.
La primera cosa rara que nos pasa es que aparentemente
de forma aleatoria ciertos tramos de código quedan exentos de los puntos de ruptura (breakpoints) del depurador. Me explico, ponemos puntos de ruptura para que se pare la ejecución en ellos cuando llegue, pero sin embargo, aunque el código se ejecuta, no se para la ejecución en ellos. Es decir, pasa por ellos pero no se detiene.
Estos puntos de ruptura son incondicionales, es decir, que están configurados para que se detengan siempre. Lo curioso es que sólo nos pasa con los puntos de ruptura que ponemos en ciertos tramos de código, en otros se para como es normal.
Hemos probado a eliminar todos los binarios (los directorios "bin" y "obj") y a volver a recompilar todo paso a paso por si es que fuera problema de binarios. Aquí nos pasa otra cosa curiosa, la primera vez que hicimos esto parecía que se había solucionado, pero sin embargo el problema volvió a aparecer al poco.
Para descartar problema de equipo o entorno pasamos el mismo proyecto a otro equipo distinto y pasa lo mismo. Hemos probado en equipos con el SP1 de
Visual Studio (usamos la
versión 2003) y sin él. En ambos pasa igual.
En nuestra búsqueda dimos con este documento, pero no parece que se contemple en él nuestra situación:
http://blogs.msdn.com/mkpark/articles/86872.aspx La otra cosa extraña que nos pasa es que cuando estamos
depurando paso a paso la ejecución de la aplicación de repente en ciertas zonas el puntero de instrucción (el que nos indica por qué instrucción vamos ejecutando)
salta aleatoriamente instrucciones y sin seguir la lógica del flujo de código. Sin embargo, ejecutando la aplicación de golpe (sin ir paso a paso) sí que sigue el flujo lógico de ejecución.
Por último indicar que esto nos pasa en un proyecto que es para un
dispositivo portátil (una
iPaq), por si fuera un dato a tener en cuenta.
Si alguien supiera de qué va la cosa o nos pudiera arrojar un poco de luz, le estaría enormemente agradecido, porque nos está desesperando ya que no sabemos si es algún fallo del Visual Studio, si es que nuestro proyecto tiene alguna cosa que hace que se vuelva loco o si somos nosotros los que nos vamos a volver locos.
Saludos y gracias