IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

[Z/OS] Contrôle de pointeur


Sujet :

Cobol

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Z/OS] Contrôle de pointeur
    Bonjour,

    après plusieurs heures de recherches infructueuses, je ne trouve pas de réponse à mon problème :

    Au sein de mon entreprises, ils sont très friands des pointeurs en cobol surtout lors de l'utilisation de liste chainées avec une très mauvaise gestion de la libération de mémoire.

    N'ayant malheureusement pas la possibilité de corriger la cause, je suis contraint de traiter les conséquences.

    Le sous-programme sur lequel je dois intervenir est appelé de 3 façons différentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Façon 1 :
    CALL 'ZCALLPGM' USING MONPROG
                          COPY1
                          COPY2
    
    Façon 2 :
    CALL 'ZCALLPGM' USING MONPROG
                          OMITTED
                          COPY2
    
    Façon 3 :
    CALL 'ZCALLPGM' USING MONPROG
                          BIDON
                          COPY2
    la donnée BIDON est déclarée en PIC X(1) et n'est jamais initialisé.
    Or la COPY1 est une liste comportant le nombre d'élément (déclaré en PIC S9 COMP-3 qui interdit tout test de numéricité) et un pointeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    01 COPY1.
       05 NbElt     PIC S9(8) COMP-3.
       05 LISTE     Pointer.
    Afin de corriger des fuites mémoire, je dois libérer l'espace mémoire du pointeur. D'où ma question :

    Existe-t'il une fonctionnalité permettant de vérifier que la valeur contenue dans le pointeur est bien une adresse mémoire ? Car dans le cas ou l'appel est effectuée de la façon 3 (avec BIDON), j'ai potentiellement n'importe quoi

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 73
    Points : 142
    Points
    142
    Par défaut
    Bonjour.

    Ce ne serait pas plus simple de tester si le paramètre n'est pas un PIC X(1) ?

Discussions similaires

  1. [contrôle] dbDateTimePicker ???
    Par Fizgig dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/11/2002, 15h45
  2. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  3. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  4. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44
  5. [Kylix] Contrôle DBGrid
    Par KThrax dans le forum EDI
    Réponses: 1
    Dernier message: 10/05/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo