Newsgroup: it.comp.os.linux.development
Titolo: Problema debugger xxgdb

Ciao a tutti,
ho installato da poco un Linux sul PC di casa (Mandrake v5.3), non sono
quindi un esperto del sistema e mi sono subito imbattuto in un problema
col debugger "grafico" xxgdb.
1) compilo dei sorgenti in C con l'opzione debugger (gcc - g nomefile.c
-o nomefile.exe)
2) se lancio gli eseguibili senza il debugger funzionano perfettamente
3) se lancio gli eseguibili col debugger (xxgdb nomefile.exe) e mi
limito a farli girare (Run) funzionano perfettamente
4) se lancio gli eseguibili col debugger (xxgdb nomefile.exe) e metto un
break il programma si ferma correttamente ma e` impossibile farlo
proseguire coi comandi Step e Next.
Compare sempre la stessa (quasi) segnalazione d'errore.
* se il break e` sull'istruzione (poniamo) sock=socket(...) compare
strcmp(p1=0x... "_GLOBAL_OFFSET_TABLE_" p2=0x... "socket" at
.../sysdeps/generic/strcmp.c:30 No such file or directory
* se il break e` sull'istruzione (poniamo) printf("ciao/n") compare
strcmp(p1=0x... "fopen" p2=0x... "printf" at
.../sysdeps/generic/strcmp.c:30 No such file or directory
strcmp.c??? ma non e` una funzione la strcmp? Ho trovato diversi file
string.h che contengono la strcmp ma nessun strcmp.c
Dimentico qualche opzione in compilazione/esecuzione?
Il debugger non trova file che gli servono per farsi le sue tabelle?
Grazie in anticipo e saluti a tutti
P.S. se mi allungate le risposte in mail oltre che sul newsgroup mi fate
un ulteriore favore. Grazie
--- 
E-mail: mailto:
giusepp...@NOSPAMnetit.alcatel.it
--
Posted from 
ns.alcanet.it
 [194.243.74.35]
via Mailgate.ORG Server - 
http://www.mailgate.org

.../sysdeps/generic/strcmp.c:30 No such file or directory
Il debugger sta cercando di fare il tracing della libc (non so perche`)
e non trova i sorgenti.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it

 quindi un esperto del sistema e mi sono subito imbattuto in un problema
Un consiglio spassionato : passa a mandrake 6.1 o a Redhat 6.1
sono un tantino piu' stabili e meno buggate.
bye
-- 
########  #
NamkoTech #####
########  #


io ci provo.
forse non stai usando le libc (librerie di sistema) compilate
per essere usate con un debugger, nella tua distr
dovrebbero esserci, sia quelle normali, quelle per il profiler,
e quelle per il debugger.
ciao.

>Ti consiglio di provare anche ddd.
Cos'e` ddd? Scusa ma non sono riuscito a trovare una risposta da solo.
E` un altro debugger?
Se si` non sono riuscito a scoprire come "lanciarlo"


e quelle per il debugger.
Ok ma scusa la franchezza, come faccio a scoprire che librerie sto
usando e quali sono quelle adatte al debugger?
E quand'anche le trovassi come faccio ad "associarle" al debugger o agli
eseguibili?


Incremento la mia dose di esposizione alle critiche dimostrando un
ulteriore passo della mia ignoranza.
Ipotesi, il debugger funziona se mi limito al run, si blocca
correttamente sui break, quello che NON riesce a fare sono gli step e i
next. Non puo` essere un problema dell'hw del mio PC o comunque dei
"livelli bassi" del suddetto?
Voglio dire se non trovasse delle librerie non dovrebbe NON andare del
tutto?
A suffragio della mia idea posso dire che lo STESSO linux installato
dallo STESSO CD rom sul pc di un amico funziona senza questo problema.
Avete idee?


Se si` non sono riuscito a scoprire come "lanciarlo"
Installarlo e` un buon inizio...


 wrote:
-> 
-> >Ciao a tutti,
-> >ho installato da poco un Linux sul PC di casa (Mandrake v5.3), non sono
-> >quindi un esperto del sistema e mi sono subito imbattuto in un problema
-> >col debugger "grafico" xxgdb.
-> >1) compilo dei sorgenti in C con l'opzione debugger (gcc - g nomefile.c
-> >-o nomefile.exe)
-> 
-> ti prego evita .exe no esiste sotto linux
Non sono vietati. Dove collaboro li usiamo per distinguere al volo gli 
eseguibili, non c'e' nessun motivo per il quale non si puo' chiamare
un eseguibile a.exe.
-> >4) se lancio gli eseguibili col debugger (xxgdb nomefile.exe) e metto un
-> >break il programma si ferma correttamente ma e` impossibile farlo
-> >proseguire coi comandi Step e Next.
-> >Compare sempre la stessa (quasi) segnalazione d'errore.
-> >
-> >* se il break e` sull'istruzione (poniamo) sock=socket(...) compare
-> >strcmp(p1=0x... "_GLOBAL_OFFSET_TABLE_" p2=0x... "socket" at
-> >.../sysdeps/generic/strcmp.c:30 No such file or directory
-> >
-> >* se il break e` sull'istruzione (poniamo) printf("ciao/n") compare
-> >strcmp(p1=0x... "fopen" p2=0x... "printf" at
-> >.../sysdeps/generic/strcmp.c:30 No such file or directory
-> >
-> >strcmp.c??? ma non e` una funzione la strcmp? Ho trovato diversi file
-> >string.h che contengono la strcmp ma nessun strcmp.c
-> >Dimentico qualche opzione in compilazione/esecuzione?
-> >Il debugger non trova file che gli servono per farsi le sue tabelle?
-> >
-> io ci provo.
-> forse non stai usando le libc (librerie di sistema) compilate
-> per essere usate con un debugger, nella tua distr
-> dovrebbero esserci, sia quelle normali, quelle per il profiler,
-> e quelle per il debugger.
Esatto.
bye
Gianluca
-- 
Home Page                	Contro i brevetti del sw     Boicotta Microsoft
www.infinito.it/utenti/chewbe
 
no-patents.prosa.it/
 
www.boycott-ms.org/
 
"If we have to file a thousand lawsuits a day, we'll do it.
It's less expensive than losing CONTROL of YOUR creative works."
---Jack Valenti, President and CEO, Motion Picture Association of America

un eseguibile a.exe.
i brividi lungo la schiena, sono un motivo sufficiente?
e chiamali .elf, se proprio vuoi riconoscerli al volo
Ciao.roberto
-- 
Save our planet!
Save wildlife;
For your E-MAIL use only recycled Bytes !!
roberto poggi  
rpo...@softhome.net

 Grazie
Prego.


 wrote:
-> On Mon, 28 Feb 2000 22:18:36 +0100, 
gian...@goldrake.gianluca.org
-> (Gianluca) wrote:
-> [...]
-> >-> ti prego evita .exe no esiste sotto linux
-> >
-> >Non sono vietati. Dove collaboro li usiamo per distinguere al volo gli 
-> >eseguibili, non c'e' nessun motivo per il quale non si puo' chiamare
-> >un eseguibile a.exe.
-> i brividi lungo la schiena, sono un motivo sufficiente?
-> e chiamali .elf, se proprio vuoi riconoscerli al volo
Brividi per cosa ?
In ogni caso hanno cominciato cosi' prima che iniziassi a collaborare con
loro e adesso non e' possibile cambiare (troppo macello).


Avete idee?
Si. Hai installato gli stessi pacchetti ? Solo gli stessi ?
Installazione identica ?
I file di configurazione sono uguali ?
Ciao
Fausto

Brividi per cosa ?
per la sensazione di essere nel file system sbagliato.


 wrote:
-> On Tue, 29 Feb 2000 09:51:06 +0100, 
gian...@goldrake.gianluca.org
-> (Gianluca) wrote:
-> >
-> >Brividi per cosa ?
-> per la sensazione di essere nel file system sbagliato.
Aaaah. Non c'e' quel pericolo, visto che hai davanti una Digital :-))


molteplici debugger (dbx, dbxtool, adb...)
dbx e adb sono proprietari.


 I file di configurazione sono uguali ?
Configurazione di linux o del debugger?
In ogni caso non ti so rispondere perche` ... non mi e` ben chiaro quali
siano. Parli di linuxconf? Se mi indichi quali file controllare posso
compararli con quelli dell'amico a cui funziona tutto.
Grazie


Aaaah. Non c'e' quel pericolo, visto che hai davanti una Digital :-))
anche io ho davanti una digital (alpha server 4/275 multi), ma ho anche
un cd con su scritto NT, a prendere polvere in un cassetto, mentre
all'accensione mi compare osf.:-)


eseguibili?
intanto cambia distr., la 5.3 è molto vecchia, passa alla 7.0
la trovi su interpuntonet di marzo,
per le librerie, nella dir del cdrom
che contiene gli rpm
trova qualcosa del tipo libc-debug... libc-profile 
bada bene che nelle ultime distr. le libc swono diventate le glibc
P.S. 
le libc sono le librerie di sistema, sono fondamentali
quindi attenzione, io per una stupidagine ho dovuto
reinstallare)

un eseguibile a.exe.
lo so ma cio mi crea scompensi emotivi,
mi riporta alla mente i brutti momenti passati con il dos,
quando ero dal lato oscuro della forza.
ciao.

 bada bene che nelle ultime distr. le libc swono diventate le glibc
Il tuo suggerimento e` stato molto utile. Ecco cosa ho fatto: 
ho reinstallato il tutto in modalita' esperta selezionando i pacchetti 1
a 1, stando bene
attento a segnare tutto cio' che puzza di
C,C++,GNU,compilatori,librerie,development ecc...
Finito il tutto provo e...funziona. Bene, tolgo il CD-rom (che mi ero
dimenticato dentro), riprovo e...torna a non funzionare!!!
Proprio cosi', devo tenere inserito il cd per poter usare il debugger!!!
Eppure di spazio ne ho ancora. Ecco il risultato di un df(*)
Filesystem         1024-blocks  Used  Available Capacity Mounted on
/dev/hda8             956142  813831     92913     90%   /
/dev/hda7              23300     596     21501      3%   /boot
Hai idee in proposito?
Ho controllato il log di install (/tmp/install.log) cercando un po' in
giro tra le librerie e ho trovato:
Installazione glib.
Installazione glibc-debug.
Installazione glibc-devel.
Installazione glibc-profile.
Non sono sufficienti per far funzionare il debug?
Grazie e saluti (Ho postato questa mail anche in "cima" al newsgroup per
una maggior visibilita`)
(*)a proposito perche' non compare l'area di swap nell'elenco?
Come si fa a visualizzarla?


compararli con quelli dell'amico a cui funziona tutto.
 Io non conosco la Mandrake. Mi pare di aver capito che hai la 5.3.
Passa alla 7.0 senza pensarci. Le librerie sono molto diverse.
Linuxconf č il tool per amministrazione del sisiema ma per RedHat.
Per sapere quali librerie hai installato devi quardare nelle directory
contenenti le librerie: /lib penso che contenga la libc ( vado a
memoria e non ho mai avuto problemi con quella libreria ).
Scusa l'osservazione: mi sembra che sei partito in quarta volendo
debuggare un applicativo (non so quanto complesso) senza avere un
minimo di pratica con l'installazione dei pacchetti, le nozioni di
base dell'amministrazione di sistema, e una base sulla gestione delle
librerie in Linux ( esempio: qual'č la differenza tra una libreria
lib*.a e lib*.so, come vengono gestite le major e le minor version
delle medesime, come funziona ldd con annessi e connessi ).
Il tuo problema mi sembra comunque strano ... 
Dovresti trovare qualcuno vicino a te che conosca Linux e che venga a
verificare sulla tua macchina dove stanno i problemi ...
Oppure patire dall'inizio con un buon libro .
Ciao
Fausto

 verificare sulla tua macchina dove stanno i problemi ...
Finora non ho trovato nessuno, mi sono rivolto ai newsgroup proprio per
questo.
