PROBLEMA Crivello di Eratostene

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
Nel tuo caso il debugger non sa dove trovare il codice delle librerie, neanche quello assembler. Dovresti avere due comandi nel tuo debugger: uno che “entra” nella funzione (“step”), un altro per eseguire la funzione senza farne il debugger (nel vecchio gdb il comando era “next” o più semplicemente “n”)
Io uso il debugger integrato di vs code, non mi chiede di mettere comandi. L’unica cosa che dovrei fare è mettere i breakpoint dove mi serve e premere esegui. Non capisco proprio perché non esegua le funzioni di file esterni.
PS studio.h non è una libreria, i file .h sono file che “in genere” contengono le definizioni delle funzioni incluse in una libreria, a altre utili definizioni.
Ah, non è come in Python che la libreria è il file?
 

Andretti60

Utente Èlite
6,440
5,091
Intendi questo? Scusa, io uso Visual Studio (non ha comunque importanza, tutti i debugger hanno le stesse funzionalità)

Se hai dubbi sull’uso dei file .h (la acca sta per “header”) apri una altra discussione, ma ti consiglio di leggere prima la documentazione (che trovi anche online, anche in molti tutorial, ti posso linkare qualcosa ma solo in inglese tipo questo
 

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
Intendi questo? Scusa, io uso Visual Studio (non ha comunque importanza, tutti i debugger hanno le stesse funzionalità)
Si, è quello. La procedura la seguo alla lettera, ma comunque per le funzioni di librerie esterne non funziona

Se hai dubbi sull’uso dei file .h (la acca sta per “header”) apri una altra discussione, ma ti consiglio di leggere prima la documentazione (che trovi anche online, anche in molti tutorial, ti posso linkare qualcosa ma solo in inglese tipo questo
Grazie mille
 

Andretti60

Utente Èlite
6,440
5,091
Il pulsante che dovresti usare e’ la freccia che vola sopra il pallino (Step Over, equivalente a F10)
 

Allegati

  • 2B259E43-5390-46F7-859E-00D3595AD4E9.jpeg
    2B259E43-5390-46F7-859E-00D3595AD4E9.jpeg
    282.1 KB · Visualizzazioni: 24

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
Si, esatto. Il debug lo uso quotidianamente per i programmi in python, è solo con il C che non funziona
 

bigendian

Utente Attivo
738
423
OS
Linux
per il debug, "-ggdb -O0"

Lasciando perdere gli IDE, in genere si configura un CFLAGS apposito per il debug nel makefile, selezionabile con una variabile, o si crea un makefile.debug

Debug si puo anche fare su codice ottimizzato, -O3 -ggdb, avrai pazzi salti con lo step, ma il comando "bt" comunque mostrera' la funzione dove avviene il crash.
 

Ibernato

Utente Èlite
4,328
2,047
OS
Windows 10 Pro / Ubuntu 22.04
Probabilmente quello che sto per dire non andrà a mio favore, ma per il debugging non c'è per forza bisogna di un debugger, nel senso che con un po' di ingegno, e perdendo un po' di tempo in più, si può anche fare a meno di software appositi.
Per esempio io nel mio piccolo non li ho mai utilizzati e sono sempre andato di printf() "strategiche"! 😅
Dipende anche dal contesto.
Le printf le uso per debuggare il codice C che si interfaccia con Kotlin in Android. Li devi fare per forza così, ma ti assicuro che il debug salva la vita.
 

M1n021

Nuovo Utente
143
68
Dipende anche dal contesto.
Le printf le uso per debuggare il codice C che si interfaccia con Kotlin in Android. Li devi fare per forza così, ma ti assicuro che il debug salva la vita.
Sicuramente costituisce un'agevolazione non da poco, non le metto in dubbio, è solo che, scocciandomi di scaricarlo, configurarlo e impararlo ad usare, ho nel mio piccolo sempre preferito rimandare e farne a meno! 😅
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili