Bonjour,
Existe-t-il sous linux un équivalent aux malloc_options de BSD.
Je cherche en effet un moyen de remplir la mémoire par des 1 afin de débusquer d'éventuels bugs.
Merci d'avance.
memset est une fonction. Ca demande que je modifie mon code en mettant des memset après chaque malloc....et que je les retire après debugage... assez lourd comme solution.
Je cherche plutôt un moyen de modifier le comportement de malloc à l'aide de variables d'environnements (par exemple), ou en tout cas, sans avoir à modifier le code.
Merci quand même.
D'autres solutions?
ou sinon une macro qui appelle malloc et memset.
une macro activée seulement pour le débug.
ou sinon y'a des trucs spécifiques glibc genre __malloc_hook et/ou __malloc_initialize_hook
(malloc.h) que j'ai jamais utilisé mais que je viens de trouver dans la doc glibc
Electric Fence est une bibliotheque qui override malloc et permet de debugger.
En gros, les zones malloc'ées sont entouré par des barrieres, et le moindre overflow provoque direct un segfault.
Sans cette lib, un programme peut tres bien ecrire n'importe quoi n'importe ou, et le probleme survient 200 lignes de code plus tard ...
# Autre solution
Posté par Ludovic F (site web personnel) . Évalué à 1.
[^] # Re: Autre solution
Posté par hypno . Évalué à 1.
Je cherche plutôt un moyen de modifier le comportement de malloc à l'aide de variables d'environnements (par exemple), ou en tout cas, sans avoir à modifier le code.
Merci quand même.
D'autres solutions?
[^] # Re: Autre solution
Posté par fearan . Évalué à 2.
Tu peux aussi zieuter du coté de valgrind pour voir comment ils font ;)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Autre solution
Posté par hypno . Évalué à 1.
Je vais jeter un coup d'oeil, merci.
[^] # Re: Autre solution
Posté par solsTiCe (site web personnel) . Évalué à 1.
une macro activée seulement pour le débug.
ou sinon y'a des trucs spécifiques glibc genre __malloc_hook et/ou __malloc_initialize_hook
(malloc.h) que j'ai jamais utilisé mais que je viens de trouver dans la doc glibc
# Electric Fence
Posté par castorpilot . Évalué à 1.
En gros, les zones malloc'ées sont entouré par des barrieres, et le moindre overflow provoque direct un segfault.
Sans cette lib, un programme peut tres bien ecrire n'importe quoi n'importe ou, et le probleme survient 200 lignes de code plus tard ...
Tres pratique
# LD_PRELOAD
Posté par mistral . Évalué à 3.
Sinon, je ne vois pas en quoi mettre une zone de mémoire à 1 différerait de la mettre mémoire à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.