Docs Menu
Docs Home
/ /

Ayudas para la depuración

Este repositorio contiene un .gdbinit Archivo que contiene funciones auxiliares para facilitar la depuración de estructuras de datos. GDB cargará este archivo. automáticamente si ha agregado el directorio que contiene el archivo .gdbinit a la ruta segura de carga automática .gdbinit de GDB e inicia GDB desde el directorio que contiene el archivo.

Puedes ver la ruta segura con show auto-load safe-path en un indicador de GDB. Puedes configurarla en ~/.gdbinit con:

add-auto-load-safe-path /path/to/mongo-c-driver

Si no ha agregado la ruta a su ruta segura de carga automática, o no ha iniciado GDB en otro directorio, cargue el archivo con:

source path/to/mongo-c-driver/.gdbinit

El archivo .gdbinit define la función printbson, que muestra el contenido de una variable bson_t *. Si tiene una variable bson_t local, debe anteponerla con un &.

Un ejemplo de sesión GDB se ve así:

(gdb) printbson bson
ALLOC [0x555556cd7310 + 0] (len=475)
{
'bool' : true,
'int32' : NumberInt("42"),
'int64' : NumberLong("3000000042"),
'string' : "Stŕìñg",
'objectId' : ObjectID("5A1442F3122D331C3C6757E1"),
'utcDateTime' : UTCDateTime(1511277299031),
'arrayOfInts' : [
'0' : NumberInt("1"),
'1' : NumberInt("2")
],
'embeddedDocument' : {
'arrayOfStrings' : [
'0' : "one",
'1' : "two"
],
'double' : 2.718280,
'notherDoc' : {
'true' : NumberInt("1"),
'false' : false
}
},
'binary' : Binary("02", "3031343532333637"),
'regex' : Regex("@[a-z]+@", "im"),
'null' : null,
'js' : JavaScript("print foo"),
'jsws' : JavaScript("print foo") with scope: {
'f' : NumberInt("42"),
'a' : [
'0' : 3.141593,
'1' : 2.718282
]
},
'timestamp' : Timestamp(4294967295, 4294967295),
'double' : 3.141593
}

El repositorio mongo-c-driver contiene un script lldb_bson.py que se puede importar a una sesión LLDB y permite una inspección detallada de los valores BSON.

Nota

El módulo lldb_bson.py requiere un LLDB con Python 3.8 o más reciente.

Para activar el script, impórtelo desde la línea de comandos LLDB:

(lldb) command script import /path/to/mongo-c-driver/lldb_bson.py

En caso de éxito, se imprimirá el mensaje lldb_bson is ready en la consola LLDB.

La importación de este script se puede automatizar añadiendo el comando a un archivo .lldbinit. Por ejemplo: Crear un archivo ~/.lldbinit que contenga:

command script import /path/to/mongo-c-driver/lldb_bson.py

La cadena de documentación en la parte superior del archivo lldb_bson.py contiene más información sobre las capacidades del módulo.

Para habilitar las afirmaciones de depuración en tiempo de ejecución, configure con -DENABLE_DEBUG_ASSERTIONS=ON.

Volver

Gestionar índices

En esta página