2009-08-09 16 views
5

He aprendido C y me gustaría comenzar a mejorar el software de código abierto. Me gustaría piratear un error irritante en GTK +. Para ver el error necesito usar Gedit.¿Cómo iniciar la depuración?

¿Cómo puedo descargar las fuentes de GTK + y gedit y compilar las dos para que pueda ver dónde está el error? Y nunca he usado ningún depurador en Linux, ¿hay algún tutorial para eso?

Respuesta

8

Puede obtener información acerca de la descarga y la compilación de gedit aquí: http://projects.gnome.org/gedit/developers.html

Mi depurador de elección es el BGF: http://www.gnu.org/software/gdb/

GDB es una aplicación de consola que puede ser difícil de manejar para un principiante. Pruebe un IDE como Eclipse que proporcione una GUI a GDB.

+0

+1 me gané. ;) –

+1

Me gusta cgdb. Es un contenedor ncurses para gdb. – liori

+0

insight es otra buena interfaz para aquellos a los que les gusta una GUI. – McPherrinM

5

Casi todos los depuradores de Linux son front-ends o adaptaciones del depurador gdb. Por lo tanto, debe aprender a usar esto primero, preferiblemente comenzando en pequeños programas de su propia construcción, no en bases de datos gigantes FOSS. El manual de gdb, disponible en here es en realidad un buen tutorial.

2

gdb es un dinosaurio que hace tiempo debería haberse extinguido. La depuración es un área donde (¡jadeo!) Windows supera a Unix. Después de sacar eso de mi pecho, te aconsejo que comiences con la interfaz gráfica Data Display Debugger (DDD) en gdb. Sí, la GUI es pintoresca, pero será más más productiva, más rápida, que si comienza con gdb.

Tampoco pase por alto valgrind para encontrar y diagnosticar errores de memoria. El proyecto de KDE en realidad exige el uso de valgrind; No estoy seguro de Gnome.

0

Es posible que no vea el error si descarga las últimas fuentes de gedit y gtk +. Puede ser corregido en las últimas fuentes o las últimas fuentes pueden ser lo suficientemente diferentes como para no activar su error.

¿Qué distribución de Linux está ejecutando?

Antes que nada sugeriría consultar la base de datos de errores de su distribución para ver si alguien ha presentado un error similar. Si no encuentra nada, le sugiero que use las herramientas de distribución para obtener la fuente que corresponde al binario que ha instalado en su sistema (por ejemplo, apt-get source libgtk-2.0 en Debian o Ubuntu).

Además, su distribución también puede hacer que un paquete de depuración esté disponible (por ejemplo, libgtk2.0-0-dbg en Debian) lo que le permitirá ejecutar un depurador en el binario que ya tiene sin requerir la fuente. Si bien esto no es un sustituto para tener las fuentes, puede ser útil para ejecutar valgrind o dar sentido a un archivo core.

+0

Mi distribución es Ubuntu. Una vez informé del error y, después de un año, supe que se había liberado. Pero de acuerdo con mis pruebas, el error todavía está allí y he actualizado mi Ubuntu a la última versión por comando sudo apt-get upgrade. –

Cuestiones relacionadas