Tengo un problema cuando trato de depurar una iteración de una lista en C++.Problemas de depuración con libC++ en Xcode 4.4
me hizo una sencilla aplicación de prueba:
int main(int argc, const char * argv[])
{
// insert code here...
std::cout << "Hello, World!\n";
std::list<int> list;
list.push_back(1);
list.push_back(2);
--> list.push_back(3); //Line before step over
for (std::list<int>::const_iterator i = list.begin(); i != list.end(); i++)
{
std::cout << *i << std::endl;
}
return 0;
}
Durante la depuración, cuando estoy en la línea marcada con una flecha, cuando me paso más, comienza interviniendo en el código de un archivo de C++: la lista ' '. Tengo que pasar 15 veces hasta que finalmente llegue al código dentro de la instrucción for.
Este problema solo ocurre en Xcode 4.4. En Xcode 4.3, la depuración funciona perfectamente.
Aquí hay algunos escenarios diferentes, con diferentes resultados:
- Uso LLVM GCC 4.2 como el compilador → Funciona bien.
- Utilice el compilador Apple LLVM 4.0 y establezca libstdC++ (biblioteca estándar GNU C++) para la biblioteca estándar de C++ → Funciona bien.
- Compilador Apple LLVM 4.0 y set libC++ (biblioteca estándar LLVM C++ con soporte para C++ 11) para la biblioteca estándar de C++ → El problema ocurre.
En el proyecto que estoy trabajando, estamos utilizando de Apple LLVM compilador 4.0 y libC++ (LLVM biblioteca de C++ estándar con soporte para C++ 11) por lo que necesitamos para resolver este problema para el escenario 3).
¿Alguien sabe lo que podría estar pasando y si hay una solución para ello?
Esto no ayuda, pero me encuentro con este tipo de cosas todo el tiempo con Xcode. Parece más prevalente con gdb que con lldb, pero ninguno de los dos funciona bien. Ha sido así por mucho tiempo. Cuando presento un error al respecto, generalmente se soluciona, pero luego aparece otra instancia en otro lugar. No estoy seguro de por qué Xcode tiene estos problemas, pero otras herramientas de desarrollo populares no lo hacen. – user1118321