Role de l'option Purifier dans la compilation d'un code ?
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Role de l'option Purifier dans la compilation d'un code ?
La question est dans le titre de ce post.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Role de l'option Purifier dans la compilation d'un code
je pense que Fred fait parti de la Scientologie

de memoire, il me semble que le purifier est un observateur de ligne de code utilisées ...
ça te fait ressortir les lignes de code le plus souvent utilisée
ça permet de savoir quelle partie de code bouffe du temps par exemple
[reedit] ha non , ça c'est le profiler !!


*PurifierGranularity(VariablesGlobales, VariablesLocales, ChainesDeCarateres, BlocsDynamiques)
Description
Modifie l'intervalle de vérification d'intégrité des données du purificateur. Chaque valeur représente le nombre de lignes qui sont exécutés entre chaque type de vérification. La valeur #PB_Ignore ne changera pas la valeur courante. Une valeur de zéro desactivera complètement la vérification.
Exemple:
; Disable check for string memory and check allocated memory every 10 lines
PurifierGranularity(#PB_Ignore, #PB_Ignore, 0, 10)
OS Supportés
Tous
de memoire, il me semble que le purifier est un observateur de ligne de code utilisées ...
ça te fait ressortir les lignes de code le plus souvent utilisée
ça permet de savoir quelle partie de code bouffe du temps par exemple

[reedit] ha non , ça c'est le profiler !!

Re: Role de l'option Purifier dans la compilation d'un code
C'est pour detecter plus facilement les dépassement de memoire (buffer overflow).
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Role de l'option Purifier dans la compilation d'un code
Fred et Dobro merci pour vos réponses.
A part cocher la case adéquate je ne comprends pas comment mettre cette fonctionnalité en oeuvre. Ou voit on le résultat par exemple.Fred a écrit :C'est pour detecter plus facilement les dépassement de memoire (buffer overflow).
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Role de l'option Purifier dans la compilation d'un code
un exemple (de Fred) pour tester :
Lance le code une première fois sans activer le purifier, aucun défaut signalé.
Lance le code une seconde fois en activant le purifier (Dans les options du compilo , (Dans le 2ème onglet), tu auras un défaut.
Code : Tout sélectionner
Structure MyPoint
x.i
y.i
EndStructure
Procedure a(directparam)
a.l = 10
c.b = 1
Point.MyPoint
a$ = "Fred"
*Memory = AllocateMemory(10)
PokeB(*Memory-1,1) ; memory bank corruption
*CrazyPointer.Long = @a
*CrazyPointer+1
*CrazyPointer\l = 152 ; stack corruption
EndProcedure
MyGlobal.l = 0
SmallGlobal.b = 1
SmallGlobal2.w = 1
MyGlobalPoint.MyPoint
*CrazyPointer.Long = @MyGlobal
*CrazyPointer+1
*CrazyPointer\l = 152 ; global data overwrite
a(10)
Lance le code une seconde fois en activant le purifier (Dans les options du compilo , (Dans le 2ème onglet), tu auras un défaut.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: Role de l'option Purifier dans la compilation d'un code
Salut Comtois, tu te fais rare ces temps-ci!
Content de te revoir trainer dans le coin
Content de te revoir trainer dans le coin

- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Role de l'option Purifier dans la compilation d'un code
@comtois : Merci pour ce code qui m'a bien montré l'intérêt du purifier.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%