Cuál es la depuración del GNU
Gdb es la depuración de la fundación libre del
software. Es una buena comando-li'nea depuración, en la cual
varias herramientas se han construido, incluyendo el modo del gdb de
Emacs, la depuración gráfica de la
exhibición de datos (DDD), y depuraciones
incorporadas en varios IDEs gráfico. Cubrimos solamente el gdb
en este artículo.
Comience el gdb funcionando el progname del gdb. Gdb
no buscará la TRAYECTORIA que busca el fichero ejecutable. Gdb
cargará los símbolos ejecutables y después le incitará para que
qué haga después.
Hay tres maneras de examinar un proceso con el gdb:
-
Utilice el comando del funcionamiento de comenzar el
programa normalmente.
-
Utilice el comando de la fijación de comenzar a examinar
un proceso de ya-funcionamiento. Cuando usted une a un proceso,
el proceso será parado.
-
Examine un archivo existente de base para determinar el
estado del proceso cuando fue matado. Para examinar un archivo
de base, comience el gdb con el progname del gdb del comando corefile.
Antes de que usted funcione un programa o una fijación a
un programa de ya-funcionamiento, usted puede fijar los límites de
facturación, código de fuente de la lista, y hace cualquier cosa
otro que no implica necesariamente un proceso corriente.
Gdb no requiere que usted mecanografíe nombres enteros
del comando; r es suficiente para funcionar, n para después, s
para el paso. Además, repetir el comando más reciente,
simplemente vuelta del golpe. Esto hace solo-caminar fácil.
Una selección corta de los comandos útiles del gdb se
incluye aquí; el gdb incluye un manual en línea comprensivo en
el formato del GNU Info (gdb del funcionamiento Info) que explica
todas las opciones de los gdb detalladamente en un formato
preceptoral. La programación con software del GNU contiene una
buena clase particular detallada en usar gdb. Gdb también incluye la
ayuda en línea extensa disponible dentro de gdb; téngale
acceso con el comando de la ayuda. La ayuda específica en cada
comando está disponible con el commandname de la ayuda o el asunto de
la ayuda.
Justo como cáscara ordena, los comandos del gdb puede
tomar discusiones. Utilizamos "ayuda de la llamada con una
discusión del comando" de significar igual que el "tipo comando de la
ayuda".
Algunos comandos del gdb también toman identificadores
del formato para identificar cómo imprimir valores. Los
identificadores del formato siguen inmediatamente el nombre del
comando y son separados del nombre del comando por una raya vertical.
Una vez que usted haya elegido un formato, usted no tiene que
utilizarlo cada vez que usted repite el comando; el gdb
recordará el formato que usted eligió como el defecto.
Los identificadores del formato son separados de comandos
por a/el carácter y compuestos de tres elementos: una cuenta,
una letra del formato, y una letra del tamaño. Las letras de la
cuenta y del tamaño son opcionales; la cuenta omite 1, y el
tamaño tiene defectos razonables basados en la letra del formato.
Las letras del formato son o para octal, x para el
hexadecimal, d para el decimal, u para el decimal sin firmar, t para
binario, f para floating-point, a para la dirección, i para la
instrucción, c para el carácter, y s para la secuencia.
Las letras del tamaño son b para el octeto, h para la
media palabra (2 octetos), W para la palabra (4 octetos), y g para el
gigante (8 octetos).
| fijación, en |
Fijación a un proceso de ya-funcionamiento. La
única discusión es el pid del proceso a el cual unir. Esto
para los procesos a los cuales usted fijación, interrumpiendo el
cualquier sueño o la otra llamada interrumpible del sistema en
marcha. Vea para separar. |
| backtrace, bt, donde, W |
Imprima un rastro de apilado. |
| rómpase, b |
Fije un límite de facturación. Usted puede
especificar un nombre de la función, una línea número del archivo
actual (el archivo que contiene el código actualmente el ejecutarse),
un nombre de fichero: par del linenumber, o aún una dirección
arbitraria con * la dirección. Gdb asigna y le dice un número
único para cada límite de facturación. Vea la condición, el
claro, y la cancelación. |
| despeje |
Despeje un límite de facturación. Toma las
mismas discusiones que rotura. Vea la cancelación. |
| condición |
Cambia un límite de facturación especificado por
número (véase la rotura) para romperse solamente si una condición
es verdad. La condición se expresa como expresión arbitraria. |
| |
(gdb) límite de facturación 3 de b 664 en 0x804a5c0:
archive ladsh4.c, alinee 664. el == 0 del estado de la
condición 3 (del gdb)
|
| cancelación |
Despeje un límite de facturación por número. |
| separe |
Separe del proceso actualmente unido. |
| exhibición |
Exhiba el valor de una expresión cada vez que la
ejecución para. Toma las mismas discusiones (modificantes
incluyendo del formato) como impresión. Imprime un número de
la exhibición que se pueda utilizar más adelante para cancelar la
exhibición. Vea undisplay. |
| ayuda |
Consiga la ayuda. Llamado sin la discusión,
proporciona un resumen de la ayuda disponible. Llamado con otro
comando como discusión, proporciona ayuda en ese comando. Hecho
una remisión extensivamente. |
| salto |
Salte a una dirección arbitraria y continúe la
ejecución allí. La dirección es la única discusión, y puede
ser especificado pues una línea número o como una dirección
especificó como * dirección. |
| lista, l |
Sin la discusión, la lista primera enumera las 10
líneas que rodean la dirección actual. Las llamadas
subsecuentes a la lista enumeran las secciones subsecuentes de 10
líneas. Con una discusión de -, listas las 10 líneas
anteriores. |
| |
Con una línea número, listas las 10 líneas que rodean esa
línea. Con un nombre de fichero: par del linenumber,
listas las 10 líneas que rodean esa línea. Con un nombre de la
función, listas las 10 líneas que rodean el principio de la
función. Con una dirección especificada como * la dirección,
especifica las 10 líneas que rodean el código encontrado en esa
dirección. |
| |
Con dos la línea especificaciones se separó por comas, enumera
todas las líneas entre las dos líneas especificadas. |
| después, n |
Camine a la línea siguiente del código de fuente en la
función actual; haga las llamadas de función sin caminar.
Vea el paso. |
| nexti |
Paso a la instrucción siguiente de la terminología de
la informática; haga las llamadas de función sin caminar.
Vea el stepi. |
| imprima, p |
Imprima el valor de una expresión en una
representación comprensible. Si usted tiene un *c del carbón,
la impresión c del comando imprimirá la dirección de la secuencia,
y el *c de la impresión imprimirá la secuencia sí mismo. La
impresión de las estructuras ampliará las estructuras. Usted
puede incluir moldes en sus expresiones, y el gdb las honrará.
Si el código fue compilado con - la opción del ggdb, los
valores enumerados y las definiciones del preprocesador estarán
disponibles para usted para utilizar en sus expresiones. Vea la
exhibición. |
| |
Las tomas del comando de impresión ajustaron a formato
identificadores, aunque con los tipos apropiados y con typecasts, los
identificadores del formato son raramente necesarias. Vea x. |
| funcione, r |
Funcione el programa actual del principio. Las
discusiones al comando del funcionamiento son las discusiones que
serían utilizadas para funcionar el programa sobre la línea de
comando. Gdb hará el ca'scara-estilo globbing con * y [ ], y
hará el cambio de dirección del ca'scara-estilo con <, >, y > >,
pero no hará las pipas o aquí los documentos. |
| |
Sin discusiones, el funcionamiento utiliza las discusiones que
fueron especificadas en el comando más reciente del funcionamiento, o
en el sistema más reciente los args ordenan. Para funcionar sin
discusiones después de funcionar con discusiones, utilice los args
del sistema ordenan sin discusiones adicionales. |
| fije |
Gdb permite que usted cambie los valores de variables,
como esto: |
| |
|
| |
También, siempre que usted imprima una
expresión, el gdb le da una variable de la taquigrafía, como $1, que
usted puede utilizar para referirle más adelante. Tan si usted
había impreso previamente argv[5 ] y el gdb le tenía dicho que fuera
$6, usted podría escribir la asignación anterior como |
| |
|
| |
El comando determinado también tiene muchos
submandatos, lejos demasiado numerosos a enumerar aquí. Utilice
la ayuda fijada para más información. |
| paso, s |
Camina la instrucción de programa por la instrucción
hasta que alcanza una nueva línea del código de fuente. Vea
después. |
| stepi |
Ejecute exactamente una instrucción de la terminología
de la informática; rastros en llamadas de función. Vea
el nexti. |
| undisplay |
Sin cualquier discusión, cancelaciones todas
exhibiciones. Si no, cancelaciones las exhibiciones que números
se dan como discusiones. Vea la exhibición. |
| whatis |
Imprime el tipo de datos de una expresión dada como su
discusión. |
| donde, W |
Vea el backtrace. |
| x |
El comando de x es como el comando de impresión,
excepto que está limitado explícitamente a imprimir el contenido de
una dirección en un cierto formato arbitrario. Si usted no
utiliza un identificador del formato, el gdb utilizará el
identificador lo más recientemente posible especificado del formato. |
esto es un artículo agregado por Humberto Mitchson
Negación: Nuestro Web site no
es responsable de la información contenida por este artículo.
Este artículo de ninguna manera refleja las vistas, las
opiniones, los pensamientos o la creencia del personal del directorio
de los artículos.
Aviso de la traducción: El artículo
"cuál es la depuración del GNU" fue traducido usando un servicio de
traducción automatizado. Nos disculpamos sinceramente por
cualquier error de la traducción que ocurriera. Gracias por
entender.