Newsgroup: it.comp.os.linux.development
Titolo: core dump


Talking about music is like dancing about architecture.
                -- Laurie Anderson

 Lo vado ad installare sullo Unix, lo compilo con cc, lo lancio e ....
????
Ho provato solo Sco Unix e di sicuro i programmi fatti per questo non 
girano su linux, devono essere modificati. In quanto a Unix System V non so 
niente, ma cosi' a occhio direi che te lo devi compilare su Unix System V e 
non su linux.
Auguri, Nicola.
-- 
______________________________
chi va pian va san e va lontan

mi sembra piu' un problema di rete/sistema che di programma !!!
Molto probabilmente è un problema di sistema e/o diversa
implementazione. Ad esempio la funzione degli int può variare tra
varie implementazioni quindi dando per scontato, ad esempio, che sia
di due byte darà problemi su sistemi con int a 4 byte.
Saluti
---
awayzzz <awayzzz at digibel dot org>

>>>> "Ab" == Antonio barbone <bar...@raffaello.home> writes:
Ab> salve a tutti,
Ab> sto facendo un programma che deve girare su uno Unix System V ... l'ho
Ab> scritto, compilato (con il gcc e con -Wall) e eseguito sotto Linux.
Ab> Il compilatore non mi da' Warning di alcun tipo ed il programma gira
Ab> tranquillamente, e fa bene quello che deve fare ....
Ab> Lo vado ad installare sullo Unix, lo compilo con cc, lo lancio e ....
Ab> CORE DUMP !!!!
E' un bus error quello che ti fa fare core dump ?
Se  si  il  problema  è  subdolo...   Si  tratta  di  un  problema  di
allineamento  dei dati  che sotto  Intel  può essere  quello che  vuoi
mentre  sotto altre  architetture no.  Ho  già visto  una cosa  simile
capitare.
Se  invece è  una  segmentation  fault, come  già  detto, compila  coi
simboli  di  debugging  e  mano  al  debugger.  Le  librerie  dei  due
compilatori potrebbero non essere così uguali...
-- 
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

 Auguri, Nicola.
ciao e grazie ..


 di due byte darà problemi su sistemi con int a 4 byte.
ma la cosa bella e' che lo stesso programma, che poi ho dovuto
"ritoccare" per fare delle cose in piu', funzionava benissimo ... e ho
usato solo librerie standard e non ho praticamente aggiunto nessuna
funzione di libreria ... e' la prima cosa che ho controllato ... mah ...
un'altra cosa ... il core dump si potrebbe avere per cose non
strettamente collegate al programma, cioe' a situazioni contingenti
dello Unix ???
ciao e grazie mille ....


 compilatori potrebbero non essere così uguali...
come ho detto nell'altro follow up, ho difficolta' ad analizzare i core
file con gdb ... ho provato a lanciare anche il programma facendogli il
debug, ma gdb non riscontra niente di strano .... 
grazie per l'interessamento ....


dello Unix ???
Intendi per bug di qualche libreria del tuo O.S.? beh potrebbe
essere... ma penso sia piů probabile sia del tuo programma.
Magari se non e` eccessivamente lungo potresti postarlo, magari si
potrebbe cercare di capire cosa non va.


 awayzzz <awayzzz at digibel dot org>
ciao, e grazie mille per l'aiuto ;-)))


>>>> "Ab" == Antonio barbone <bar...@raffaello.home> writes:
Ab> jaco@barbone:~/C/scafi$ gdb -c core.028822
Ab> ........
Sei sicuro che cc generi un formato compatibile con gdb ?
Ab>     SIGBUS      10,7,10      C      Bus error (bad memory access)
Ab> ma la cosa bella e' che lo stesso programma, che poi ho dovuto
Ab> "ritoccare" per fare delle cose in piu', funzionava benissimo ... e ho
Ab> usato solo librerie standard e non ho praticamente aggiunto nessuna
Ab> funzione di libreria ... e' la prima cosa che ho controllato ... mah ...
SIGBUS, SIGBUS.... Qui c'è un programma che obbliga il processore a provare
a sparare sull'address bus un valore non valido.
La macchina Unix è una Intel ? 


 unlink (filein);
Non mi sembra scorretto chiuderlo dopo averlo cancellato.

About Re: core dump
awayzzz wrote:
ho risolto !!! quando ho fatto l'aggiunta al programma, invece di usare
i puntatori come avevo fatto nelle altre funzioni, ho voluto "provare il
brivido" di usare una funzione che non avevo mai usato in vita mia ...
la snprintf() ... pensavo che fosse standard ANSI (dato che sta in <stdio.h>)
ma, dopo un lungo debug con fprintf (stderr, ...) ho visto che il prog
crashava proprio li' ... ci ho messo i vecchi cari puntatori e tutto e'
andato a posto ...
la cosa piu' bella di tutto questo e' che il compilatore (un cc che devo
pensare si ricorda la guerra ... non questa, la Grande guerra ;-))) non
mi diceva assolutamente niente !!! ne' che la funzione non era definita,
ne' "implicit declaration" ....
mah .... grazie mille dell'aiuto, awayzzz, e scusa se ti ho fatto
perdere tempo ....
ciao


About Re: core dump
Gian Uberto Lauri wrote:
ho risolto ... sono un cogli**e !!! nel resto del programma per estrarre
dalle stringhe le cose che mi interessavano ho usato i puntatori ....
quando ho fatto l'aggiunta al programma, per fare prima, ho usato una
funzione che non uso mai ... snprintf() e ... sorpresa ..... sullo Unix
non c'e' !!! dopo un debug fatto di fprintf (stderr ...) sono arrivato
alla funzione incriminata e, usando i puntatori, e' andato tutto a posto
... non c'e' manco la pagina man !!!
ma snprintf non e' standard ANSI ??? allora il cc (che non mi diceva
assolutamente niente, ne' che non era definita ne' niente !!) che ho
sullo Unix si "ricorda il cippo" (cioe' e' vecchissimo;-)))
devo proprio chiamare l'assistenza per un aggiornamento ...
Gian Umberto, grazie mille per l'interessamento e scusa se ti ho fatto
perdere tempo ;-)))


 Non mi sembra scorretto chiuderlo dopo averlo cancellato.
e infatti .... come ho scritto negli altri trhead, era che il
compilatore (che non mi dava nessun warning/errore) non supportava
snprintf ... boh .. vallo a capi' .... si vede che si "ricorda il cippo"
;-)))
comunque, ho rimesso i puntatori e tutto gira a meraviglia ...
grazie dell'interessamento .... ciao


 sullo Unix si "ricorda il cippo" (cioe' e' vecchissimo;-)))
si, ma fa parte dello standard C99, quindi e' probabile che il tuo cc 
si rifaccia ancora al C89. Sotto linux e' disponibile perche' e' una 
estensione GNU.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

 ciao Anto
ciao ... e grazie del chiarimento ...


>>>> "Ab" == Antonio barbone <bar...@raffaello.home> writes:
Ab> ma snprintf non e' standard ANSI ??? allora il cc (che non mi diceva
Ab> assolutamente niente, ne' che non era definita ne' niente !!) che ho
Ab> sullo Unix si "ricorda il cippo" (cioe' e' vecchissimo;-)))
Strano che non ti abbia bestemmiato dietro il linker...
BTW, che Unix è ?
Ab> Gian Umberto,
Qui il mio linker ti urla dietro, Gian Uberto senza 'm' per favore :).
(Non sai che palle dover controllare subito ogni documento che faccio,
 appena fatta la carta di credito ho dovuto tagliarla per questo problema)


  appena fatta la carta di credito ho dovuto tagliarla per questo problema)
sorry about ;-))) viene piu' naturale "Umberto" ...


 dev/xt^@/dev/console^@^@^@^@/dev/kurl/%04x^@^@/dev/pts/%d^@-c^@^@AAA^@mon.out
questo e' poco significativo, nei file core ci si puo' trovare di
tutto, in fondo sono dei dump della memoria, e possono esserci zone
di memoria che non erano state inizializzate...
io una volta ci ho trovato anche una password :)
-- 
addio, e grazie per tutto il pesce

 io una volta ci ho trovato anche una password :)
mi stai dicendo che praticamente sono (quasi) inutili ... io non c'ho
capito praticamente niente ;-)))
ciao ....


 mi stai dicendo che praticamente sono (quasi) inutili ... io non c'ho
no, per carita', sono utilissimi... se li usi assieme ad un debugger.
Se vai a guardarne il contenuto con un semplice editor di testi
invece non scoprirai molto :))


 invece non scoprirai molto :))
e me ne sono accorto ... il mio solito approccio "rozzo" non ha
funzionato ...
