2009-04-14 7 views
7

Principalmente he hecho desarrollo de software básico (nivel principiante) en una máquina con Windows, pero siempre he tenido MS Visual Studio para ayudarme a avanzar en el proceso de depuración.Depuración en Linux para Windows Desarrollador

Ahora, sin embargo, parece que estaré en Linux, así que para prepararme para el salto quiero asegurarme de tener una herramienta/herramientas alineadas para ayudarme a pasar el código y depurar.

Desafortunadamente, cuando le pregunté verbalmente a la gente cómo van a depurar Linux, normalmente recibo la siguiente respuesta: "Ah, acabo de poner un montón de declaraciones impresas". ¡DIOS MIO! De ninguna manera dices, pero sí, esa es su respuesta.

Dado que está en Linux, y funcionará con código C++ en el sistema operativo CentOS de 32 bits, espero que aquí se encuentre una solución OpenSource preferida. Entonces, supongo que estoy preguntando por el IDE OpenSource preferido para el código C++ en CentOS Linux.

Gracias por cualquier idea y sugerencias.

Respuesta

5

se recomienda usar Eclipse

Eclipse es un IDE madura con un montón de apoyo disponible.

También existe Code::Blocks si quieres probar algo diferente

+0

Code :: Blocks usa GDB internamente, he encontrado que GDB solo es menos problemático para la depuración en comparación con C :: B's. –

+0

Guau - Nunca esperé todas estas maravillosas respuestas. Ahora tengo que encontrar el tiempo y aprovechar la oportunidad de experimentar con todas estas ideas. Probablemente comenzaré con Eclipse y veré si puedo convertir la base de código de Linux existente en un IDE, lo que nunca se ha hecho antes, y hay toneladas de archivos y muy poca documentación existente o precisa: esto lamentablemente no * .dsw o existente Espacio de trabajo o solución :(Supongo que el próximo paso será ver cómo hacer funcionar este bestia de código en un IDE. Gracias de nuevo por todas las respuestas, son realmente geniales. – JustADude

4
  • Eclipse
  • NetBeans
  • KDevelop
7
2

Siempre hay GDB. XCode para OSX utiliza GDB internamente para la depuración.

2

Valgrind, es tu amigo y puede salvarte de tener que sufrir a través de GDB.

1

Anjuta es un IDE fantástico para GNOME. Para la depuración, usa GDB internamente.

6

Hace algunos años, me moví de VS a un entorno tipo emacs/make y nunca miré hacia atrás.

La idea es utilizar un makefile para manejar el lado de administración de proyectos de un IDE y yo uso emacs + gdb para la edición y la depuración. Te llevará un tiempo acostumbrarte a los emacs, pero si te apegas a él vale la pena el esfuerzo. Una vez que haya comenzado emacs, presione "Ctrl + H" seguido de "t" y esto lo llevará a la página del tutorial.

Después de haber dominado los conceptos básicos, puede depurar un programa de forma similar a cualquier interfaz IDE/depurador. Debo admitir que incluso después de todo este tiempo, todavía uso un conjunto de asignaciones de claves VS que configuré cuando me mudé a emacs.

(global-set-key [f7] 'compile)   ;; Run the compile command 
(global-set-key [f4] 'next-error)  ;; The next compile error 
(global-set-key [S-f4] 'previous-error) ;; The previous compile error 
(global-set-key [f5] 'gdb)    ;; Start the debugger 

los siguientes juegos de los "VS" asignación de claves a los diferentes BGF comandos que puede utilizar:

(add-hook 'gud-mode-hook 
    '(lambda() 
    (define-key (current-local-map) 
     [f10] 
     'gud-next) 
    (define-key (current-local-map) 
     [f11] 
     'gud-step) 
    (define-key (current-local-map) 
     [\S-f11] 
     'gud-finish) 
    (define-key (current-local-map) 
     [f5] 
     'gud-cont) 
)) 

Con los keymappings anteriores, presiono 'f5', que me impulsa a correr gdb (y a este comando agrego el binario que deseo depurar). Una vez que cargue gdb, presione 'f5' para continuar, 'f10' para pasar, 'f11' para entrar y 'shirt + f11' para salir.

Finalmente, cada vez que inicie 'gdb', leerá un archivo llamado '.gdbinit' en su directorio de inicio. Una pregunta diferente de StackOverflow tenía este answer que me llamó la atención stl-views. stl-views es un conjunto de funciones auxiliares para gdb que le muestran los contenidos de los diferentes tipos de contenedores STL. Las instrucciones para usarlo se pueden encontrar en la parte superior del enlace.

0

Utilizo una combinación de gdb y cscope al depurar en Linux.

Cuestiones relacionadas