GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir la sortie de gdb.execute dans PythonGDB (GDB 7.1) ?

Existe-t-il un moyen de recevoir la sortie d'un gdb.execute dans GDB 7.1 ?

Non.

Votre meilleur pari est de faire en sorte que GDB-7.3 soit disponible. Étant donné que GDB n'utilise généralement pas de bibliothèques partagées (au-delà de libc et peut-être de libpython), vous pouvez simplement copier le binaire gdb avec votre script. Ce sera une solution beaucoup plus facile et plus maintenable que l'alternative que vous avez proposée.


Vous pouvez écrire dans un fichier, puis lire le fichier, par exemple :

os.system("rm tmp.txt")
gdb.execute("set logging file tmp.txt")
gdb.execute("set logging on")
mainsec=gdb.execute("info proc mappings")
gdb.execute("set logging off")
mainsec = open("tmp.txt").read()

L'ancienne version de gdb.execute était cependant de loin supérieure.


Pour info maintenant (testé avec gdb 8.1) vous pouvez utiliser le to_string paramètre

https://sourceware.org/gdb/onlinedocs/gdb/Basic-Python.html

gdb.execute (command [, from_tty [, to_string]])

Par défaut, toute sortie produite par la commande est envoyée à la sortie standard de GDB (et à la sortie du journal si la journalisation est activée). Si le paramètre to_string est True, la sortie sera collectée par gdb.execute et renvoyée sous forme de chaîne. La valeur par défaut est False, auquel cas la valeur de retour est None.


Linux
  1. Comment obtenir la valeur de retour de CHILD PROCESS ?

  2. Comment extraire la durée de la sortie ffmpeg?

  3. comment obtenir des éléments de la liste en bash?

  4. comment obtenir sha1sum pour sortir le binaire?

  5. Comment puis-je obtenir mon adresse IP à partir de la ligne de commande ?

Comment obtenir des nouvelles instantanément à partir de la ligne de commande sous Linux

Comment empêcher `ls` de trier la sortie ?

Comment voir la sortie d'un script Php ?

Comment diriger la sortie de grep vers cp?

tcpdump :comment obtenir une sortie grepable ?

Comment obtenir un masque de réseau à partir de bash ?