¿Cuáles son las ventajas de LLDB sobre GDB en el desarrollo de iOS?
Pregunta
En Xcode 4.3, ahora puede habilitar el uso de LLDB como depurador para los objetivos de iOS.
¿Qué ventajas tiene sobre el uso del viejo GDB? GDB todavía funciona con LLVM y no puedo ver ninguna diferencia obvia en las tareas de depuración "cotidianas".
Solución
La ventaja más notable es que LLDB entiende la sintaxis del punto en las propiedades:
po self.property
Una cita de Blog del proyecto LLVM:
LLDB admite escenarios básicos de depuración de la línea de comandos en la Mac, es scriptable y tiene un gran soporte para la depuración multiproceso. LLDB ya es mucho más rápido que GDB al depurar programas grandes, y tiene la promesa de proporcionar una experiencia de usuario mucho mejor (particularmente para los programadores de C ++). Estamos entusiasmados de ver las nuevas plataformas, nuevas características y mejoras en las que la comunidad LLVM más amplia está interesada.
Otra cita de Página de inicio de LLDB:
LLDB es un depurador de alta generación de alto rendimiento. Se construye como un conjunto de componentes reutilizables que aprovechan altamente las bibliotecas existentes en el proyecto LLVM más grande, como el analizador de expresión de Clang y el desmontaje LLVM.
Por qué un nuevo depurador
Para lograr nuestros objetivos, decidimos comenzar con una arquitectura nueva que admitiría programas modernos de múltiples subprocesos, manejaría los símbolos de depuración de manera eficiente, utilizaría el conocimiento del código basado en el compilador y tendrá soporte de complementos para funcionalidad y extensiones. Además, queremos que las capacidades del depurador estén disponibles para otras herramientas de análisis, ya sean scripts o programas compilados, sin exigir que sean GPL.