Frama-C script: imprimer une fonction

Anne frama-c

A ma connaissance, il n’existe pas de fonction dans Frama-C pour afficher une fonction complète (avec son corps),

mais il est facile de créer un élément de type Cil_types.global, et d’utiliser Printer.pp_global :

let fundec = Kernel_function.get_definition kf in
let loc = Cil_datatype.Location.unknown in
let global = Cil_types.GFun (fundec, loc) in
Format.printf "%a" Printer.pp_global global

Attention à ne pas oublier de récupérer Kernel_function.No_Definition lorsqu’on n’est pas sûr que kf est définie.

On peut retrouver une fonction par son nom à l’aide de :

let kf = Globals.Functions.find_by_name name in ...

Voir aussi :

  • rien de plus sur ce sujet... Retournez à l'accueil ?