Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web. Dovreste aggiornare o usare un browser alternativo.
Nei vari libri di testo ma anche a lezione una delle cose che spesso non insegnano è debuggare. Personalmente come IDE utilizzo Visual Studio 2017 per Programmare in C.
Gentilmente mi potete fare esempi e farmi capire una volta per tutte come utilizzare questo strumento chiamato Debugger ??
il debugger su visual studio è molto semplice, imposti un punto di interruzione nel codice che hai scritto cliccando sulla riga o col tasto destro inserisci punto di interruzione.
Poi in automatico quando esegui il codice si fermerà li e potrai ispezionare il valore che hanno preso le tue variabili etc etc, e premendo f10 esegui un'istruzione per volta per vedere che tutto sia corretto.
Questo significa debuggare.
Nei vari libri di testo ma anche a lezione una delle cose che spesso non insegnano è debuggare. Personalmente come IDE utilizzo Visual Studio 2017 per Programmare in C.
Gentilmente mi potete fare esempi e farmi capire una volta per tutte come utilizzare questo strumento chiamato Debugger ??
Come prima cosa smetti di usare visual studio, C lo si deve imparare con un editor non un ide, come seconda cosa compila il tutto con GCC e il debug fallo da terminale con GDB, si da terminale perchè devi farti le ossa. Poi chissà se in futuro dovrai lavorare ad un progetto corposo ovvio che userai un ide, ma per impararlo fai come dico io.
Come prima cosa smetti di usare visual studio, C lo si deve imparare con un editor non un ide, come seconda cosa compila il tutto con GCC e il debug fallo da terminale con GDB, si da terminale perchè devi farti le ossa. Poi chissà se in futuro dovrai lavorare ad un progetto corposo ovvio che userai un ide, ma per impararlo fai come dico io.
Ma neanche per sogno. E lo dice uno che ha iniziato a debuggare con db e gdb quasi 40 anni fa.
Sarebbe come dire che per imparare a guidare bisogna iniziare con una Ford T (1908) con partenza a manovella.
Nel nostro settore si dice "mai reinventare la ruota". Quello che e' passato, e' passato, se c'e' qualcosa di meglio da usare, lo si usa. Imparare a usare gdb non aiuta per nulla a usare un debugger avanzato in un IDE, non aiuta nemmeno a capire cosa sia un debugger, e' solo frustrante da usare e qui c'e' gente che NON SA la differenza tra un puntatore e un vettore, hanno meglio da studiare che rimasugli del passato.
Ma neanche per sogno. E lo dice uno che ha iniziato a debuggare con db e gdb quasi 40 anni fa.
Sarebbe come dire che per imparare a guidare bisogna iniziare con una Ford T (1908) con partenza a manovella.
Nel nostro settore si dice "mai reinventare la ruota". Quello che e' passato, e' passato, se c'e' qualcosa di meglio da usare, lo si usa. Imparare a usare gdb non aiuta per nulla a usare un debugger avanzato in un IDE, non aiuta nemmeno a capire cosa sia un debugger, e' solo frustrante da usare e qui c'e' gente che NON SA la differenza tra un puntatore e un vettore, hanno meglio da studiare che rimasugli del passato.
concordo, visual studio é ad oggi tra l'altro l'ide piú potente in circolazione per la programmazione, in particolar modo per C# ma anche C ed altri, ha utilissime funzioni che permettono di testare il codice e non mi riferisco solo al debugger quanto anche agli unit test, che in molti altri ide devi farli con programmi separati.
Chiunque voglia programmare seriamente o imparare a farlo con questi linguaggi usa visual studio, farlo da editor come é giá stato detto non é altro che frustrante anche perché manco puoi debuggare parti di codice, puoi solo vedere se funziona o meno alla fine, e se non funziona (9 casi su 10) c'é da spararsi.
Però senza avere precedenti esperienze di programmazione ed al primo corso universitario, perde più tempo ad imparare ad usare decentemente VS che a preparare l'esame. Tra l'altro per quanto tecnica obsoleta, l'inserimento di semplici istruzioni di stampa del contenuto delle variabili è la prima, seppur primitiva, tecnica di debugging.
Ovvio che per programmi/progetti un po' più complessi poi ci si affidi ad altro, dipende molto dal livello già acquisito di esperienza del neofito
Però senza avere precedenti esperienze di programmazione ed al primo corso universitario, perde più tempo ad imparare ad usare decentemente VS che a preparare l'esame. Tra l'altro per quanto tecnica obsoleta, l'inserimento di semplici istruzioni di stampa del contenuto delle variabili è la prima, seppur primitiva, tecnica di debugging.
Ovvio che per programmi/progetti un po' più complessi poi ci si affidi ad altro, dipende molto dal livello già acquisito di esperienza del neofito
Ed infatti è qui che io andavo a parare, qui non si parla di quali tecnologie usare per avviare un progetto ma cosa usare per imparare al meglio in ambito accademico, e come sapete in ambito accademico per imparare qualcosa si reinventa sempre la ruota, altrimenti al corso di algoritmi usiamo STL e siamo tutti felici.
Suvvia di cosa stai parlando il modo in cui hai posto questa frase è errata, l'inesperienza fa da maestra. C è un linguaggio dalla sintassi relativamente semplice l'astrazione sua è minore, in tutti i corsi di laurea lo si impara da editor con gdb, anche perchè poi si estende lo conoscenze nel corso di sistemi operativi con ASM. Perciò fargli usare un IDE sarebbe la scelta peggiore.
Però senza avere precedenti esperienze di programmazione ed al primo corso universitario, perde più tempo ad imparare ad usare decentemente VS che a preparare l'esame. ...
Certamente no. Usare il debugger in VS e' semplicissimo, devi solo imparare a cliccare sul bordo del pannello del codice per mettere un breakpoint, e usare pochi tasti (tipicamente F10 e F11) per avanzare di un istruzione, poi basta guardare la finestra delle variabili per guardarne il loro valore, o basta passare il mouse su una variabile per vederne il valore. E' quanto basta per iniziare, si impara in 10 minuti e se lo si facesse si eviterebbe il 90% delle domande in questo forum (non ho fatto statistica, ho tirato un numero a casaccio)
Stai parlando con uno che ha usato gdb per quasi vent'anni su sistemi UNIX, editando con vi e emacs, su semplici terminali ... lo so usare ancora, ma e' enormemente piu' semplice da imparare e usare il debugger in un IDE. Se vuoi restare all'eta' della pietra, contento tu.
Post unito automaticamente:
Mamma mia che dinosauri che siete :) probabilmente sono piu' vecchio di tutti voi (sto gia' pensando alla pensione) ma la vedo molto piu' avanti. Mi ricordate i miei professori delle superiori che ci facevano usare il regolo calcolatore invece della calcolatrice tascabile (appena uscite). Sapete quante volte ho poi dovuto usare il regolo e le tavole trigonometriche e logaritmiche in vita mia, sia all'universita' che al lavoro?
Ma che ci avete contro gli IDE? Imparare a programmare ci vuole una vita. Imparare a usare un IDE (uno qualsiasi) ci vogliono poche ore. Forse e' per questo che in Italia siamo ancora cosi' indietro, continuiamo a vivere nel Jurassico.
Contro gli IDE? ma quando mai!
ti chiedo: ma davvero giusto pe imparare è conveninete usare una balena come VS invece dell'acciuga GCC + Codeblocks? IDE minimale ma completo (anche di debugger) e ambiente leggerissimo invece di tonnellate di gigabyte che al principiante non servono?:varie13:
Contro gli IDE? ma quando mai!
ti chiedo: ma davvero giusto pe rimparare è conveninete usare una balena come VS invece dell'acciuga GCC + Codeblocks? IDE minimale ma completo (anche di debugger) e ambiente leggerissimo invece di tonnellate di gigabyte che al principiante non servono?:varie13:
Ma che poi io sono il primo che usa gli IDE perchè sono comodi, ma li uso a lavoro o per progetti personali. Che ne so se voglio studiarmi javascript inizio da vanilla javascript non da un framework, evvero riscrivo la ruota ma il mio obiettivo è studiare javascript. Il suo obiettivo è studiare il C, il C non lo studi con l'ide perchè ti vizia, senza IDE commetti tantissimi errori e ci sbatti pure la testa e perdi tanto tempo, ma ti fai le ossa e capisci il perchè stai sbagliando perchè effettivamente lo stai studiando a 360 non solo la sintassi, in caso scrivi spazzatura ti viene spontaneo arrangiare il codice creare un pattern, cercare soluzioni a problemi, visto che ne hai. Non capisco perchè sia cosi ostico da capire.
Che poi sto notando che la gente che dice di non usarlo è gente che ci ha sbattuto la testa e l ha imparato senza IDE, lui non lo ha mai studiato il C.
Appunto. Se uno sta imparando i concetti di un linguaggio perche' mai deve perdere tempo con errori di battitura? Dammi per favore un altro motivo, che sia valido, perche' non si debba iniziare con un IDE, che con la programmazione non ha nulla a che fare. Sarebbe come dire "non usare un sistema operativo esistente perche' ti vizia bensi' scriviti il tuo file system ..." Dai siamo seri. Nessuno con un minimo di sale in zucca si mette a scrivere un sistema operativo o un database (a meno di non farlo di mestriere). Il IDE e' come il sistema operativo, ti permette di focalizzare il nostro sudio (programmare) senza dovere fermarsi nei dettagli.
Ripeto: stiamo parlando di ragazzi che non sanno la differenza tra puntatore e vettore. Come li possa aiutare NON usare un IDE me lo dite voi.
Appunto. Se uno sta imparando i concetti di un linguaggio perche' mai deve perdere tempo con errori di battitura? Dammi per favore un altro motivo, che sia valido, perche' non si debba iniziare con un IDE, che con la programmazione non ha nulla a che fare. Sarebbe come dire "non usare un sistema operativo esistente perche' ti vizia bensi' scriviti il tuo file system ..." Dai siamo seri. Nessuno con un minimo di sale in zucca si mette a scrivere un sistema operativo o un database (a meno di non farlo di mestriere). Il IDE e' come il sistema operativo, ti permette di focalizzare il nostro sudio (programmare) senza dovere fermarsi nei dettagli.
Ripeto: stiamo parlando di ragazzi che non sanno la differenza tra puntatore e vettore. Come li possa aiutare NON usare un IDE me lo dite voi.
Io non capisco te lo giuro, dimmi un IDE in cosa aiuterebbe uno studente voglio proprio sapere, non dirmi intellisense o code checking che tutti gli editor la tengono come opzione o plugin. Un ide fa perdere tempo, uno studente che vuole fare un programmino stupido per sortare un array giustamente secondo te lo butti su visual studio e gli spari in faccia tremila opzioni, invece di un editor dove deve semplicemente scrivere un main e una funzione che sorta, e poi lo stesso studente si deve ricordare che visual studio accetta un solo main a progetto, dunque lo studente per ogni programmino stupido in cui deve fare due printf deve creare tremila progetti, per non parlare del ricordarsi di mettere come modalità di compilazione C e non C++ e poi lo stesso studente durante l'esame non capirà perchè non compila ci arriverà dopo realizzando di aver usato il compilatore di windows e non GCC visto che all'uni usano GCC un tipico esempio fflush su windows cancella lo stdin su linux non fa niente è definito diversamente, durante l'esame lo usi per cancellare l'stdin poi fai gcc e ti accorgi che non funziona tutto questo perchè hai usato visual studio e che fflush su windows è definito diversamente da linux ed effettivamente succede ogni anno agli esami di fondamenti di informatica agli splendidi che usano visual studio, per fare stupidi programmi che sortano un array di stringhe, io l ho usato visual studio e lo uso, ma lo usi per un progetto grande non per programmi che dopo una serata te ne dimentici. A mio parere un si focalizza sullo studio di più cosi, poi fa gcc nome file ed è fatto letteralmente 2 secondi, però te sei di coccio e non capisci. :suicidio: