2011-10-06 13 views
5

Estoy aprendiendo C con "The C Programming Language", segunda edición, y también estoy haciendo cada ejercicio.¿Necesito saber ensamblar para depurar programas escritos en C?

¿Necesito saber el ensamblaje para depurar los programas C que escribí como soluciones para los ejercicios de libros?

Además, ¿qué depurador le recomienda?

+0

¡No, no, pero podría ser más fácil de aprender que gdb! ;-) –

Respuesta

5

No necesita necesita para saber el ensamblaje para programar en C, incluida la depuración. Sin embargo, si conoce el ensamblaje, C comienza a tener mucho sentido; realmente ayuda tener algunas nociones de ensamblaje (preferiblemente, algunas nociones en varias arquitecturas distintas, como x86 y ARM), y no solo para la depuración.

+0

De acuerdo. Saber cómo funciona ** realmente ** una máquina te ayuda a escribir mejor C. Aprender el lenguaje ensamblador te ayudará a comprender cómo funciona una máquina a un nivel bajo y por qué escribes la C que haces. –

2

No es obligatorio pero a veces es extremadamente útil. Si está utilizando MSVC++, solo use el que está en el IDE, también puede mostrar el desensamblaje.

2

No, no es necesario saber de montaje con el fin de aprender C

En cuanto a los depuradores van, quizás la opción más sencilla es utilizar el depurador que se construye en el IDE que está utilizando. En Windows, Microsoft Visual Studio es popular (hay un free version). Eclipse es otra opción popular que está disponible en varias plataformas.

También hay depuradores de línea de comandos, como gdb, pero será más difícil comenzar a utilizarlos que uno basado en GUI.

1

Para depurar paso a paso, podría ser útil, pero no necesario, conocer el ensamblaje. También depende del depurador si es realmente necesario.

Pero hay otras maneras de depurar un programa, p. poner printf() llamadas en lugares estratégicos.

1

No, no se requiere asm pero es útil, como otros han dicho, use un depurador ... Lo que otros no han dicho, es que incluso podría usar GDB, pero asegúrese de deshabilitar las optimizaciones o depuración del compilador. .

1

No necesita aprender a ensamblar si va a depurar sus propios programas. Los compiladores pueden insertar información del código fuente en el ejecutable (-g bandera con GCC) o en un archivo lateral (/Z familia de indicadores con MSVC).

Comenzar con un depurador no es difícil (incluso si usa una línea de comando), y hay muchos recursos en Internet. Es la inversión que le dará el mayor rendimiento.

Sin embargo, tener cierta comprensión del lenguaje ensamblador puede resultar útil a veces. Observar el ensamblado generado por el compilador a veces (rara vez) es necesario cuando desea verificar cómo se realizan algunas optimizaciones. Pero esto es algo de lo que no debes preocuparte a menos que tengas un trabajo muy específico.

Cuestiones relacionadas