IDE - Recherche Debug

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

IDE - Recherche Debug

Message par Bmld76 »

Bonjour,

Lors d'un gros développement actuellement en cours (+22000 lignes sur +20 fichiers), j''ai au des problème pour retrouver certains éléments. Déjà l'IDE est assez efficace.

Debug

Je me suis retrouvé avec des affichages de DEBUG sans me rappeler ou je les avais mis donc j'ai pris l'habitude de les faire précédemment du fichier et du numéro de ligne. Même si celui change, on les retrouve facilement

ex fichier IMPRESSION > Debug "IMP 958" + tmp + " " + valeurX

Vous avez peut-être une autre solution ?

Bien cordialement
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Re: IDE - Recherche Debug

Message par SPH »

Dans ton programme, tu peux faire un commentaire avec ";-"
Cela l'inscrira dans la liste des procédures a droite.

Code : Tout sélectionner

a=5
b=2
c=157
;-a
Debug a
;-c
Debug c
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;;;;
;-b
Debug b

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: IDE - Recherche Debug

Message par Ollivier »

Bonjour, (et un petit coucou à sph qui se "réveille" en même temps que moi...)

déjà, bon courage pour ton projet. C'est un sacré morceau. Ensuite, la petite astuce que tu peux dénicher, c'est l'utilisation de constantes du compilateur.

Elles se trouvent en bas de la page de la doc : Les directives du compilateur
N'hésite pas à te faire 20 minutes d'auto-formation en les testant, c'est-à-dire en affichant leur valeur.

Notamment :

Code : Tout sélectionner

Debug #PB_Compiler_Line
Debug #PB_Compiler_File
...qui t'affiche le nom de ton fichier ainsi que la ligne où se trouve ton Debug. Mais il y en a d'autres, comme savoir dans quelle procédure tu es, etc...

Il y a aussi, à l'instar de la hiérarchisation dans un TreeGadget, une hiérarchisation possible des Debug avec DebugLevel
Le niveau 0 est la priorité maximale.
Source

Il y a enfin, les outils personnalisés (menu Outils) qui te permettent de créer des outils exécutés automatiquement à différents moments de l'édition/compilation de ton programme (c'est au choix). Dans ce cas, c'est quand tu as programmé préalablement un ou plusieurs outils dans le langage pureBasic. En gros, tu crées un programme qui va traiter les fichiers de tes codes source comme un simple fichier texte. Et tu vas utiliser librement les fonctions de pureBasic pour traiter tes futurs codes source. L'application est infinie : un exemple rudimentaire, compter combien de fois tu utilises le terme "Procedure" dans ton programme. Ou bien, autre exemple, supprimer la totalité des occurences "Debug" dans ton code source. C'est à toi de savoir gérer du texte, mais pour tes propres code source.
Les outils personnalisés
Dans ce cas, le process à suivre c'est :
1) programmer l'outil en pureBasic
2) compiler l'outil en fichier exécutable
3) installer l'outil dans l'IDE (doc ci-dessus)
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

Re: IDE - Recherche Debug

Message par Bmld76 »

Bonsoir,

Effectivement mon programme et assez important et n'est pas fini mais le principale fonctionne. J'avais un peur de la stabilité de PureBasic, mais je suis rassuré et satisfait du code obtenu : rapide, peu volumineux et multi os. exactement ce que je cherchais de puis longtemps. Malgré quelque plantage par bibliothèques externe ? mais apparemment pas en compilé, j'ai géré tout les problèmes.

Merci pour vos réponses que je vais appliquer, je me doutais bien que je ne maitrise pas encore tout. Je vais prendre le temps de m'informer, je sais que cela fais gagner du temps ensuite.

Merci pour votre assistance.


bien cordialement
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: IDE - Recherche Debug

Message par Ollivier »

Pour les adaptations d'appel de librairies externes (et d'origine autre que pureBasic), tu peux faire une recherche sur les 3 forums (français, allemand et anglais) en utilisant différents mot-clés :
- "Prototype"
- "CallFunctionFast"
- "CallFunction"

Ce sont les 3 possibilités d'appel d'une fonction externe d'origine inconnue.
"Prototype Qqch()" te permet d'appeler Qqch() par son nom, après avoir réglé Qqch() à la bonne adresse.

CallFunctionFast() appelle une fonction par son adresse aussi, sans forcément nécessiter le nom.

CallFunction() appelle aussi par le nom.

De souvenir, j'ai un dialogue autour de 2011, je crois avec un membre nommé NY152 pour adapter un appel de fonction compilé sous VisualBasic. Mots-clé de recherche : "crépi" ou "ny152" tout simplement.

Et sur le forum anglais, j'ai aussi un dialogue avec Lik137 pour une librairie externe de reconnaissance faciale je crois qu'il voulait "dompter". Ce dialogue a lieu en 2015, je crois, vers Juillet me semble-t-il. Donc une recherche par auteur, permet de retrouver vu qu'il cause pas beaucoup.

Il y a aussi d'autres membres plus pro que moi assez téméraires pour résoudre de tels problèmes de compatibilité.

Concernant les librairies créées en pureBasic, là, c'est un jeu d'enfant : il suffit d'ajouter "Dll" à "Procedure" et de compiler en mode "librairie" plutôt qu'en mode "exécutable". Et paf c'est fait.

Bon courage, n'hésite pas à communiquer un problême (tu l'isoles pour protéger ton projet). Parfois, tu vas gagner un temps fou.
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

Re: IDE - Recherche Debug

Message par Bmld76 »

Bonjour


Merci pour ces infos mais actuellement je ne fais appel à aucune librairie externe. Le problème est aléatoire , jamais sur le même code, donc je ne peux l'isolé mais relativement rare et toujours en mode début . Effectivement, il est assez facile d'isoler le code quand le problème est toujours au même endroit et de le traiter.

Merci encore
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: IDE - Recherche Debug

Message par MLD »

Bonjour
J'ai réalisé un logiciel de gestion de cabinets d'avocats qui comprenait environs 35000 lignes de code, et plusieurs centaines de gadgets. A cette occasion je me suis vite aperçus que sans une certaine rigueur dans la gestion notamment des gadgets, cela devient vite ingérable.
C'est a ce moment que j'ai définitivement abandonné la numérotation automatique des gadgets proposé par PB, pour faire une assignation manuel de ceux-ci.
comme ceci par exemple:
#bt_barre = 101:#bt_stop = 102:#bt_adf = 103:#bt_radf = 104:#bt_aid = 105
#etic_vt1 = 200:#etic_vt2 = 201:#etic_vt3 = 202:#etic_vt4 = 203:#etic_vt5 = 204
ce qui permet de faire de la gestions des gadgets en boucle sans risque d'erreurs, aussi du code plus court, ect
Mais chacun fait comme le sent. :wink: :lol:
Bon courage.
Bmld76
Messages : 116
Inscription : dim. 09/janv./2022 12:47

Re: IDE - Recherche Debug

Message par Bmld76 »

Bonsoir,

Lorsque j'ai voulu utiliser la numérotation manuel des gadgets, vu que je crée des des dizaines de grilles jusqu'a 25x25 cases donc avec beaucoup de case string, je me suis retrouvé limité et j'ai eu des message indiquant que la valeur des gadgets était trop élevées , confirmez-vous O/N sans pouvoir répondre.

avec PC_any pas de problème de quantité, je les met dans un tableau pour les gérer.

La réactivité est très impressionnante. Travaillant sur MacOs, je. compile un exemple Win avec VMware sans problème.

Cordialement
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5

PureBasic 6.11 MacOS
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: IDE - Recherche Debug

Message par Ar-S »

J'aime aussi nommer mes gadgets, mais pourquoi n'utilisez vous pas les enumerations ?
Vous pouvez jouer avec les numérotations facilement aussi..

Code : Tout sélectionner

Enumeration
    #fenetre
    #porte
EndEnumeration

Enumeration 10
    #bt_aa
    #bt_bb
    #bt_cc
EndEnumeration

; gadget 0 et 1
Debug #fenetre
Debug #porte

; gadgets 10, 11, 12
Debug #bt_aa
Debug #bt_bb
Debug #bt_cc
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: IDE - Recherche Debug

Message par MLD »

@Ar-S
Bonjour
Tu as raison c'est une bonne méthode quand chaque " sous Enumeration" n'est pas trop longue.
Mai si tu as
Enumeration 10
#bt_aa
#bt_bb
#bt_cc
jusqu’à 59 comme cela
EndEnumeration

Enumeration 60
#etic_aa
#etic_bb
#etic_cc
EndEnumeration
Il faudra que je compte que #bt_zzd aura le numéro 39, si je veux faire une boucle entre le numéro 29 et le numéro 40
car pour faire des codes court je n'utilise jamais le nom du gadget mais son numéro.
En utilisant mon système d'assignation j'ai un visuel des numéros de gadget plus facile (Oui je suis un peu fainéant :oops: :lol: )
Bon WE a toi
A+
Répondre