para - qt creator tutorial
ConfiguraciĆ³n de Qt Creator para depurar en clases Qt (4)
Con Xcode, antes de ingresar a la biblioteca Qt la primera vez, ingrese el siguiente comando en la ventana LLDB:
settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src
(Obviamente, querrá cambiar el número de versión, según corresponda).
Pero supongamos que Trolltech cambia su directorio de compilación, ¿qué hacer entonces? (O, ¿cómo la wiki de la comunidad que dio la ruta /Users/qt/work/qt
lo encontró?) Puede adivinar cuál debe ser la ruta editando /path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug
(o cualquier otra biblioteca Qt) y buscando algunas rutas. "/ Usuarios" parece una buena suposición. Alrededor del 2% en la biblioteca, comenzarás a ver secciones con muchos caminos como:
../../include/QtCore/../../src/corelib/kernel^@../../include/QtCore
/../../src/corelib/tools^@global^@/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^@/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>
Busque una ruta absoluta que parezca que se pueda escribir. ( /Applications/...
no sería una ruta de compilación probable, por ejemplo)
Quiero configurar Qt Creator (3.0) de una manera que pueda depurar en las clases de Qt. Así que descargo el código src correspondiente ( http://gitorious.org/qt/qt5 ) y lo instalo en un directorio (por ejemplo, c:/Qt5/src
).
Entonces tengo mi propio proyecto. ¿Dónde necesito configurar la ruta del código fuente de Qt ( c:/Qt5/src
), para poder depurar mi código, pero también en una clase Qt donde sea necesario?
- Edición: comentario de Pavel -
Pavel ha dado una buena pista: pero estoy usando una versión precompilada de Qt / Qt Creator. Básicamente, estoy buscando una solución que no requiera que compile desde la fuente. Sin embargo, una sugerencia útil. Gracias.
Si está utilizando una versión predefinida, vuelva a asignar la ubicación del código fuente como se describe en http://doc.qt.io/qtcreator/creator-debugger-engines.html
Mapeo de rutas de origen
Para permitir que el depurador ingrese al código y muestre el código fuente al usar una copia del árbol de origen en una ubicación diferente a la que construyeron las bibliotecas, asigne las rutas de origen a las rutas de destino:
- Seleccione Herramientas> Opciones> Depurador> General> Agregar.
- En el campo Ruta de origen, especifique la ruta de origen en la información de depuración del ejecutable según lo informado por el depurador.
- En el campo Ruta de destino, especifique la ubicación real del árbol de origen en la máquina local.
Para obtener " la ruta de origen en la información de depuración del ejecutable según lo informado por el depurador ", puede activar la opción " Usar Tooltps en la vista de pila al depurar " haciendo clic derecho en la vista de pila y mover el mouse sobre una función específica llamada.
Si observa la información sobre herramientas, verá referencias a /Users/qt/work
, los símbolos de depuración implementados en Mac están apuntando allí. Por supuesto, esto no está documentado, ya que estas personas quieren que usted compre Enterprise.
Si crea el directorio /Users/qt/work
(como root), luego cree un enlace flexible a su directorio de origen llamado qt, todo funcionará. No hay necesidad de construir nada desde la fuente (bajo Mac, lo que resultaría en decenas de conciertos desperdiciados). Las mismas consideraciones sobre los complementos
Ejemplo:
sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt
Todo funcionará. Cualquier mapeo de fuente falló aquí, así que déjalos en paz. Espero que esto ayude
Tienes que compilar tu propio Qt. Esa es la única manera de obtener esta funcionalidad. Usted es libre de usar cualquier IDE que desee, incluido uno precompilado. Simplemente registre su Qt auto-compilado como un kit en Qt Creator.
Qt precompilado simplemente no se envía con archivos con información de depuración. Puede perder una cantidad ilimitada de tiempo intentando depurar en Qt precompilado. No es posible en las plataformas Unix ya que los objetos que contienen información de depuración no se envían. Tampoco está disponible en Windows, por la misma razón: los archivos .pdb no están allí para las compilaciones de MSVC, y los archivos de objetos no están allí para las compilaciones de mingw. Eso es en serio todo lo que hay que hacer.
Al crear una compilación de Qt -debug-and-release
, debe conservar todos los siguientes árboles (carpetas) para que la depuración funcione:
- fuente,
- construir,
- instalar el prefijo.
Realmente no sé para qué es Qt precompilado. En lo que a mí respecta, no debería ofrecerse: simplemente confunde a todos. No es útil para los usuarios finales, y no es útil para los desarrolladores: simplemente no puedo ver la depuración seriamente sin acceso a las fuentes Qt. Derrota el propósito de ser las fuentes, de alguna manera. Claro, debería haber un Qt Creator creado previamente con las bibliotecas Qt creadas previamente que necesita, pero esto no debe exponerse fuera de él.