Utilicé el código siguiente e intenté depurar en Visual Studio 2008 presionando F10.Comportamiento extraño del depurador cuando se utiliza el control #line
//test.cpp
#include<iostream>
using namespace std;
int main(void)
{
#line 100 "test.cpp"
cout<<"Inside main()"<<endl;
return 0;
}
A continuación se muestra la captura de pantalla del depurador.
#line 100 dice compilador para ir a la línea 100 para obtener la siguiente línea. Como la línea 100 no existe, sale de la función principal como se muestra en la captura de pantalla. Si trato de depurar el código con F10, el control nunca vuelve a la función principal. Sigue mostrando el puntero fuera de la función principal aunque está ejecutando main().
si me dan otro nombre de archivo en lugar de test.cpp, puntero va a ese archivo, pero no vuelve a test.cpp
Cualquier idea de por qué depurador se comporta de esta manera?
Respuesta corta: no use #line a menos que realmente sepa lo que está haciendo :-D –