Si quieres comprar un coche, hay muchas opciones. Si desea comprar un avión de pasajeros, hay menos opciones. Si desea utilizar el Gran Colisionador de Hadrones, puede elegir exactamente uno. Cuanto más difícil es crear algo, menos possible es que haya muchos de ellos. Si está buscando un depurador de Linux, solo hay unas pocas opciones, pero gdb es sin duda los angeles que encontrará con más frecuencia. Hay lldb y un puñado de ofertas comerciales no abiertas, pero en su mayor parte usará gdb para depurar instrument en Linux.
Por supuesto, no todos son fanáticos de los angeles interfaz basada en texto de gdb, por lo que no hay escasez de interfaces disponibles para ella. De hecho, gdb tiene dos interfaces potencialmente incorporadas, aunque dependiendo de cómo instale gdb, es posible que no tenga ambas. Por supuesto, si u.s. un IDE, es muy possible que sea una interfaz para gdb, entre otras cosas. Pero en el centro está gdb y, por lo basic, hay una ventana en algún lugar en los angeles que puede introducir comandos de gdb. Incluso emacs, que podría considerarse el IDE unique, puede ejecutar gdb y le brinda una especie de experiencia GUI.
No se requiere front-end
Hubo un tiempo en que Perception technology common. Este no technology un front-end para gdb. Generation una copia actual de gdb con una GUI Tk/Tcl incorporada. Sin embargo, cayó en desgracia debido a problemas de empaque, algo que mi viejo amigo Jeff Duntemann cubierto en profundidad cuando todo el mundo lo dejó caer.
Sin embargo, todavía hay una manera de usar gdb un poco mejor sin una interfaz. Los angeles bandera -tui. Esto no le brinda una interfaz gráfica de usuario, sino una interfaz de usuario textual como los angeles que puede ver a continuación.
Si bien no siempre soy un fanático de las GUI, los angeles depuración es un lugar donde tiene sentido tener mucha información en los angeles pantalla a los angeles vez, por lo que es un lugar en el que a menudo intentaré usar algo un poco mejor que un easy comando. línea. Los angeles vista predeterminada solo muestra su código fuente y los angeles ventana de comandos, pero también puede activar una pantalla de registro, habilitar una pantalla de desmontaje y cambiar el diseño de todo. Pruebe el comando “división de diseño” o “registros de diseño” para ver algunas pantallas diferentes. El comando “structure src” hará que las cosas vuelvan a ser como empezaron. Si quiere tomarse en serio el uso del modo TUI, consulte la documentación. Vale los angeles pena señalar que puede usar “tui permit” para activar este modo en cualquier momento y “tui disabled” para apagarlo y volver a gdb easy.
¿Por qué no Internet?
En estos días, todo se ejecuta en un navegador internet, ¿por qué no su depurador? los gdbgui los angeles parte delantera hace exactamente eso. Por supuesto, el depurador no se ejecuta en el navegador, solo los angeles interfaz de usuario que se conecta a un servidor native. Puede ver el programa ejecutándose contra un ejecutable ARM usando gdb-multiarch en los angeles figura adjunta.
Todas las interfaces, por supuesto, buscan el ejecutable gdb customary. Pero si está depurando algo de forma remota, como un chip AVR o ARM, deberá encontrar los angeles manera de señalar el programa gdb correcto. Para gdbgui, esa es los angeles opción -g en los angeles línea de comando. No technology obvio si había una forma de conectarse al servidor (OpenOCD, en este caso) usando el protocolo remoto extendido. Por defecto, al menos, usaba el protocolo remoto estándar que es menos capaz.
Otra opción an identical que ejecuta los angeles interfaz en el navegador es gdbfrontend. También se necesita una opción ejecutable -g o –gdb para establecer una opción diferente de programa gdb subyacente. Puedes ver cómo se ve a continuación.
Al igual que gdbgui, no parece haber una forma de configurar el front-end para usar el protocolo remoto extendido, lo que provoca algunas limitaciones al depurar con OpenOCD. Una característica interesante es el botón de colaboración que le permite dibujar en los angeles pantalla, presumiblemente mientras comparte los angeles pantalla con alguien o proyecta su pantalla para un salón de clases.
Otras opciones
Otra opción atractiva es Vidente que no se ejecuta en un navegador. Tenga en cuenta que esto no es lo mismo que el paquete seer en Ubuntu, desafortunadamente. Para vidente, tendrá que salir del primer cuadro de diálogo que aparece y dirigirse a Configuración para cambiar el ejecutable de gdb. Sin embargo, tuve problemas para establecer puntos de interrupción en los angeles GUI. Parecía que los puntos de interrupción funcionarían si usaba los angeles terminal gdb, pero eso anula el propósito. Parece que tiene un “visualizador de matriz” interesante si puede hacerlo funcionar. Me conformé con una foto de vidente depurando un programa Linux realmente easy y funcionó bien.
Sospecho que todos estos programas funcionan bien usando gdb customary en un archivo ELF customary de Linux. Sin duda, todos los problemas se debieron a que estaba usando OpenOCD como gdbserver y hablando con un chip ARM remoto, lo que probablemente no sea algo que los desarrolladores prueben con mucha frecuencia. Aun así, las dos herramientas basadas en navegador pudieron hacer el trabajo, aunque ignoraron las características del protocolo extendido.
¿Te importa? Si u.s. un IDE que integra gdb, tal vez no. O tal vez eres demasiado duro para usar un depurador. Está bien. Pero para los momentos en que necesita gdb, estas interfaces pueden hacerlo más productivo y brindarle más atención para concentrarse en lo que realmente importa: encontrar el error.
Honestamente, si está pensando en usar los angeles interfaz TUI, consulte el panel del que hablamos a principios de este año. Si no se ha mojado los pies con los angeles depuración remota de gdb, Maya Posch lo respalda.
Pasaporte En Linea