Pregunta

Me estaba preguntando si alguien había escrito aquí / utiliza un script que analiza la salida de objdump y extractos de códigos de operación de la misma? Tengo una aplicación muy trivial, pero estoy buscando algo mejor.

El problema que estoy enfrentando con este script es, simplemente, que lo hace sencillo análisis de cadenas; esto es más de una secuencia de comandos de utilidad, y es por eso que no he escrito ensayos para estos. Me preguntaba si el mismo podría hacerse escribiendo un analizador personalizado hecho o una simple pero eficiente expresión regular.

Esta consulta es con el propósito de aprender, de modo que pueda acercarse a un problema de este tipo en un (esperemos) mejor manera la próxima vez.

no me importa lo específico de la aplicación (shell, Ruby, Python, Perl, nada haría). El código no tiene ni siquiera importa mucho, de verdad, me gustaría algunos consejos sobre cómo usted lo haría.

¿Fue útil?

Solución

Lo siento si esto no es lo que quería, pero su pasta ya no está disponible.

Aquí está una extremidad rápida. Diferentes partes de la salida están separadas por pestañas.

'  402000:\t14 43                \tadc    $0x43,%al\n'

Esto debería empezar:

>>> r
'  402000:\t14 43                \tadc    $0x43,%al\n'
>>> r = r.strip()
>>> r
'402000:\t14 43                \tadc    $0x43,%al'
>>> r = r.split('\t')
>>> r
['402000:', '14 43                ', 'adc    $0x43,%al']
>>> r[1] = r[1].strip()
>>> r
['402000:', '14 43', 'adc    $0x43,%al']

Otros consejos

La mejor solución sería construir objdump de la fuente y hacer una pitón u otro lenguaje trago de contenedor que recibe el resultado directamente. Usted puede hacerlo con el análisis de cadenas, pero eso es a menudo con errores (que se lee mal implementado). En definitiva, es posible hacer la cadena de analizar adecuadamente ... Tengo una utilidad que se basa en esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top