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

Lazarus Pascal Discussion :

[Linux] Emplacement du débogueur


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier
    [Linux] Emplacement du débogueur
    Bonjour.

    J'ai installé Lazarus sous Zorin (distribution basée sur Ubuntu) et quand je le lance, il dit n'avoir pas trouvé le débogueur et demande d'en indiquer le chemin complet.

    Quelqu'un sait où il se trouve ?

    Cordialement.
    Christian

  2. #2
    Expert éminent sénior
    Essaye locate -b '\gdb'.
    Exemple chez moi :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /etc/gdb
    /usr/bin/gdb <<<<< ça doit être celui-ci 
    /usr/share/gdb
    /usr/share/bash-completion/completions/gdb
    /usr/share/doc/gdb
    /usr/share/gdb/python/gdb
    /usr/share/glib-2.0/gdb
    /usr/share/menu/gdb

    à confirmer par
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # ls -Gg /usr/bin/gd*
    -rwxr-xr-x 1 4878752 janv. 29  2013 /usr/bin/gdb
    -rwxr-xr-x 1  267256 janv. 29  2013 /usr/bin/gdbserver
    -rwxr-xr-x 1     126 janv. 29  2013 /usr/bin/gdbtui
    -rwxr-xr-x 1   34596 janv.  9  2013 /usr/bin/gdbus
    -rwxr-xr-x 1    1360 janv.  9  2013 /usr/bin/gdbus-codegen
    -rwxr-xr-x 1    9228 mai   12  2012 /usr/bin/gdialog
    -rwxr-xr-x 1    9620 avril 16  2012 /usr/bin/gdk-pixbuf-csource
    -rwxr-xr-x 1    9604 avril 16  2012 /usr/bin/gdk-pixbuf-pixdata
    lrwxrwxrwx 1      61 avril 16  2012 /usr/bin/gdk-pixbuf-query-loaders -> ../lib/i386-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
    -rwxr-xr-x 1    7940 mars  27  2013 /usr/bin/gdm-control

    C'est bien lui.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre régulier
    Retour de la commande locate :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    locate -b '\gdb'
    /usr/share/gdb
    /usr/share/bash-completion/completions/gdb
    /usr/share/glib-2.0/gdb
    /usr/src/linux-headers-5.0.0-37/scripts/gdb
    /usr/src/linux-headers-5.0.0-37-generic/scripts/gdb
    /usr/src/linux-headers-5.3.0-40/scripts/gdb
    /usr/src/linux-headers-5.3.0-40-generic/scripts/gdb


    donc rien dans bin

    avec celui dans share, lazarus répond que ce n'est pas un exécutable ...

    dans bin, j'ai trouvé "gdbus", le programme l'accepte mais plante à la compilation d'un projet en indiquant "erreur du débogueur'

  4. #4
    Membre expert
    Salut à mon avis il faut que tu installes GDB depuis ton gestionnaire de paquet

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Rédacteur/Modérateur

    Bonjour ! Peut-être que gdb n'est pas installé. Vous pouvez le vérifier avec cette commande :


  6. #6
    Membre régulier
    Merci à tous, je ne maîtrise pas très bien Linux ...

    Quand j'ai voulu tester la présence de gdb, j'ai eu comme réponse que rpm n'était pas installé ...

    donc je l'ai installé avec "sudo apt install rpm"

    et j'ai la réponse : "package gdb is not installed"

    Pourtant, quand je lance "sudo apt install gdb", j'obtiens :

    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    gdb est déjà la version la plus récente (8.1-0ubuntu3.2).
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires*:
    efibootmgr libaacs0 libavformat57 libbdplus0 libbluray2 libfwup1 libheif1
    libllvm8 libsdl1.2debian libssh-gcrypt-4 libswscale4
    Veuillez utiliser «*sudo apt autoremove*» pour les supprimer.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 8 non mis à jour.
    ce qui laisse à pense gdb est bien installé ! C'est à n'y rien comprendre.

    Christian

  7. #7
    Rédacteur/Modérateur

    Euh, c'est peut-être moi qui vous ai donné un mauvais conseil avec la commande rpm, qui est peut-être inappropriée dans votre cas.

    Apparemment, pour Ubuntu et ses cousins, ce serait plutôt la commande dpkg :

    https://askubuntu.com/questions/4233...d-on-my-server

    You can list all the installed packages with

    dpkg -l

    You can see details for a specific package with

    dpkg -p packagename

    And to learn if it is installed ,use

    dpkg -s packagename | grep Status

  8. #8
    Expert éminent sénior
    Citation Envoyé par thewolf Voir le message
    ce qui laisse à pense gdb est bien installé ! C'est à n'y rien comprendre.
    Alors tu mets à jour la base de données qui va bien avec updatedb et ensuite tu relances locate.
    On sera vite fixé.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre régulier
    $ updatedb
    updatedb: impossible d'ouvrir un fichier temporaire pour «*/var/lib/mlocate/mlocate.db*»

    mais :

    locate -b '\gdb'
    /etc/gdb
    /usr/bin/gdb
    /usr/share/gdb
    /usr/share/bash-completion/completions/gdb
    /usr/share/doc/gdb
    /usr/share/gdb/python/gdb
    /usr/share/glib-2.0/gdb
    /usr/share/menu/gdb
    /usr/src/linux-headers-5.0.0-37/scripts/gdb
    /usr/src/linux-headers-5.0.0-37-generic/scripts/gdb
    /usr/src/linux-headers-5.3.0-40/scripts/gdb
    /usr/src/linux-headers-5.3.0-40-generic/scripts/gdb
    gdb est dans bin maintenant ! Je l'ai indiqué à Lazarus et cela semble fonctionner.

    Merci à tous.

  10. #10
    Expert éminent sénior
    Citation Envoyé par thewolf Voir le message
    $ updatedb
    updatedb: impossible d'ouvrir un fichier temporaire pour «*/var/lib/mlocate/mlocate.db*»
    Ça alors ! Jamais vu…
    Probable qu'une mise à jour devait être en train de se faire dans ton dos (elles sont plus ou moins automatiques).

    Citation Envoyé par thewolf Voir le message
    gdb est dans bin maintenant ! Je l'ai indiqué à Lazarus et cela semble fonctionner.
    D'autant plus que j'ai oublié le truc hyper simple (auquel personne n'a pensé, note bien, ) : au prompt,
    Code X :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # gdb
    GNU gdb (GDB) 7.4.1-debian
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "i486-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    (gdb) quit
    #

    Bah, ça fonctionne, c'est le principal.
    Bons codes,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  11. #11
    Membre régulier
    updatedb me donne toujours le même message !
    avec le truc "hyper simple", cela lance bien gdb ...

    un autre truc bizarre, quand je compile, même le programme par défaut, j'ai ces 2 warnings :

    Compilation du projet - Cible : /home/chris/tmp/project1 : Succès - Avertissements : 2
    project1.lpr(21,1) Warning: "crtbeginS.o" not found, this will probably cause a linking failure
    project1.lpr(21,1) Warning: "crtendS.o" not found, this will probably cause a linking failure
    Cela n'empêche pas de fonctionner mais j'aime bien quand tout est nickel !

  12. #12
    Rédacteur/Modérateur

    Citation Envoyé par thewolf Voir le message
    un autre truc bizarre, quand je compile, même le programme par défaut, j'ai ces 2 warnings :

    Compilation du projet - Cible : /home/chris/tmp/project1 : Succès - Avertissements : 2
    project1.lpr(21,1) Warning: "crtbeginS.o" not found, this will probably cause a linking failure
    project1.lpr(21,1) Warning: "crtendS.o" not found, this will probably cause a linking failure

    Cela n'empêche pas de fonctionner mais j'aime bien quand tout est nickel !
    Si je me souviens bien, j'avais résolu ce problème en modifiant une ligne dans fpc.cfg :

    Code X :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    #-Fl/usr/lib/gcc/x86_64-mageia-linux-gnu/8.2.1
    -Fl/usr/lib/gcc/x86_64-mageia-linux-gnu/8.3.1

  13. #13
    Expert éminent sénior
    Citation Envoyé par thewolf Voir le message
    updatedb me donne toujours le même message !
    Alors lsof /var/lib/mlocate/mlocate.db (si la base de données est bien à cet emplacement) te donnera le nom du processus qui "tient" le fichier.
    Et si ça ne répond rien (ligne vide, = fichier non tenu), alors c'est lié aux subtilités de ton Zorin, que je ne connais pas&#8239;: faudra poster une question sur le site de la distro.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp