2011-03-15 18 views
9

Estoy usando Qt Creator 2.01 de 32 bits con Qt 4.7.1 en Windows 7 de 64 bits. Recopilé mi biblioteca de Qt usando Microsoft Visual C++ 2010. Ahora quiero usar CDB con Qt Creator (o GDB si eso funciona, o cuál es la mejor opción). ¿Qué es exactamente lo que debo hacer para poder depurar con CDB (para poder establecer puntos de interrupción y ver símbolos)?¿Cómo hacer que Qt Creator funcione con CDB?

Por favor, no me apunte simplemente al http://qt-project.org/doc/qtcreator-2.8/creator-debugger-engines.html porque he estado allí y aún me falta algo. Tengo Windows SDK instalado con herramientas de depuración (pero creo que es la versión de 64 bits). Lo que estoy buscando es qué opciones debo configurar en Qt Creator para configurar todo esto.

EDIT: También debo aclarar Creo que el tipo depurador de obras porque puedo golpear F5 y mis inicia la aplicación y luego puedo seleccionar "Depuración> interrumpa" y parece que se detiene. Pero en la pila de llamadas, los nombres de las funciones se ven destrozados y los puntos de corte establecidos en el editor no se rompen. Si presiono F10, entonces se avanza por el código en lo que parece ensamblaje. Tal vez es porque estoy construyendo una DLL y configuro F5 para ejecutar la aplicación principal que a su vez carga y llama a mi DLL.

Respuesta

4

Dado que su Qt está compilado con MSVC, la mejor opción es de hecho CDB (para GDB necesitaría, por ejemplo, una versión compilada MinGW).

Debugging debe estar fuera de la caja. Un primer punto que podría pensar es si, por alguna razón, Qt Creator no ve sus herramientas de depuración para Windows. ¿Se ha asegurado de que la ruta (y la versión) esté correctamente especificada en la página de opciones de CDB?

Además, ¿ha considerado cambiar a Qt Creator 2.1 (tiene muchas mejoras en el área)? O mejor aún, una versión auto compilada del 2.2 branch, que incluye una refactorización total del motor CDB.

+0

No me di cuenta que tenían 2.1. Acabo de descargar el paquete SDK (hace solo unas semanas) y era 2.0.1. Conseguiré la nueva versión. – User

+0

editó mi pregunta – User

+0

Después de instalar 2.1, cuando fui a la configuración de CDB, la ruta ya estaba completada para el directorio de herramientas de depuración para Windows. Allí encontré la versión de 32 bits del depurador de Windows, así que lo instalé y luego establecí la ruta a ese directorio de instalación. Así que creo que está funcionando, creo que el problema es que estoy depurando un dll. – User

2

Instale el SDK de Microsoft para Windows 7 (versión 7.1 o posterior) y marque la casilla para herramientas de depuración para Windows. Asegúrese de haber seleccionado la versión msvc de Qt, no mingw. Siempre que tenga instaladas las herramientas de depuración para Windows la próxima vez que vaya a depurar su aplicación, le pedirá que configure el servidor de símbolos, haga clic en Sí y luego estará listo.

0

Por si esto ayuda a alguien, estoy usando Qt Creator 2.3.1 basado en Qt 4.7.4 bajo Windows Vista.

He tenido terribles problemas para depurarlo. No se integraría en la carpeta/depuración del proyecto, así que cuando ejecuté Debug (F5) falló y no dije tal aplicación o directorio. Resulta que cambiar la configuración de compilación y crear una nueva compilación de depuración, pero especificar la carpeta/release (donde estaba creando mi aplicación) funciona bien.