Articles of GDB

El subproceso de C ++ no se detiene en el modo asíncrono de gdb utilizando la secuencia de comandos de python definida por el usuario

Estoy usando gdb 7.4.1 en el destino powerpc incorporado para realizar un análisis en mi progtwig de C ++ de múltiples subprocesos que utiliza pthreads. Mi objective final es escribir gdb con python para automatizar algunas funciones de análisis comunes. El problema es que estoy encontrando alguna discrepancia en el comportamiento cuando ejecuto comandos individualmente […]

Error Python faltante o inutilizable durante la comstackción cruzada de GDB

Recibo este error al intentar comstackr de forma cruzada GDB (utilizando el indicador –with-python ): checking for python: /usr/bin/python checking for python2.7: no configure: error: python is missing or unusable Me aseguré de tener python2.7 instalado en /usr/bin . Incluso quité el paquete y lo instalé de nuevo. Intenté usar –with-python=/usr/bin y –with-python=/usr/local , pero […]

¿Qué se necesita para usar el soporte de gdb 7 para depurar progtwigs de Python?

Me gustaría usar el soporte de gdb 7 para depurar los “procesos inferiores” de Python. ¿Qué necesito para poder hacer eso? Por ejemplo: ¿Con qué banderas debe haberse ejecutado el script de configuración de Python inferior? ¿El proceso de Python inferior tiene que ser Python 2.7 o más reciente (veo que fue cuando se confirmó […]

Gdb bonita impresión con python una estructura recursiva

No estoy muy familiarizado con Python, y estoy descubriendo las capacidades de scripting de GDB en python; La motivación de mi pregunta es mejorar la impresión GDB de valores dentro del monitor MELT, que luego se conectará a GCC MELT . Pero aquí hay una variante más sencilla. Mi sistema es Linux / Debian / […]

Impresoras bonitas para mapas lanzando un error de tipo.

He configurado impresoras bonitas utilizando http://wiki.eclipse.org/CDT/User/FAQ#How_can_I_inspect_the_contents_of_STL_containers.3F . Funciona con éxito para vectores y otros contenedores. Sin embargo, no puedo inspeccionar mapas como en el siguiente ejemplo: #include #include using namespace std; int main () { map mapIntToString; map mapInt2; mapIntToString.insert (map ::value_type (3, “Three”)); mapInt2.insert (map ::value_type (3, 4)); return 0; } Me sale el […]

GDB-Python scripting: cualquier muestra que recorre los campos de estructura C / C ++

La nueva API de scripts GDB–Python parece bastante potente y debería ser muy útil. Sin embargo, escribir una secuencia de comandos útil para recorrer en iteración los campos en una estructura de C o C ++ no es trivial. ¿Alguien sabe algunas muestras sólidas que hacen exactamente eso? Gracias por adelantado. Actualice la muestra final: […]

GDB pretty printing ImportError: No hay un módulo llamado ‘impresoras’

Estoy intentando agregar una bonita impresión para STL en mi GDB en Ubuntu 14.04. Algunos detalles sobre las herramientas: SO: Ubuntu 14.04 Versión gdb: 7.7 Versión de python: 2.7.6 Versión de python3: 3.4.0 Pero después de configurar exactamente lo que decía la instrucción. Todavía tengo los siguientes errores: Traceback (most recent call last): File “”, […]

Cómo instalar GDB con soporte de Python en Windows 7

Necesito depurar el código de cython. La documentación oficial dice que necesito instalar “gdb 7.2 o superior, construido con soporte de Python“. Desafortunadamente, no encontré ninguna guía paso a paso sobre cómo instalarlo en Windows 7. ¿Tengo que crearlo yo mismo (¿cómo?) O ya existe un instalador para Windows 7 de 64 bits? Cualquier ayuda […]

gdb-python: analiza la estructura de cada campo e imprímelos con el valor adecuado, si existe

Estoy escribiendo un script en Python para automatizar la depuración del volcado del núcleo de gdb. estoy intentando imprimir una estructura de datos que incluye las estructuras de datos del kernel y las listas (por ejemplo, struct list_head). Por ejemplo, la estructura es algo como esto: struct my_struct { struct my_hardware_context ahw; struct net_device *netdev; […]

Cómo usar la extensión de depuración gdb python dentro de virtualenv

Estoy ejecutando ubuntu, e instalé el paquete python-dbg. Al intentar usar la versión instalada directamente, todo funciona muy bien: $ gdb python2.7-dbg GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 —x snipped x— Reading symbols from /usr/bin/python2.7-dbg…done. (gdb) r Starting program: /usr/bin/python2.7-dbg [Thread debugging using libthread_db enabled] Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”. Python 2.7.3 (default, Feb 27 2014, […]