Buna, M-am uitat pe noua submisie a ta de pe vmchecker, vad niste buffer overflow-uri (nu m-am uitat in cod, doar pe rularile Linux/Windows), da-i si cu un valgrind inainte sa vezi pe unde dai p-afara cu memoria. Nu alocarea e problema ci faptul ca undeva dai peste.
Atat la rularea cu GDB (apropo, baga cu cgdb e mai draguta interfata) cat si la cea cu VALGRIND ai grija sa compilezi cu -g si sa stergi orice alta -O optiune de optimizare pentru a prinde mai usor problema. Si dai cu valgrind peste unul din testele care pica in Linux. Alt hint pe care il vad e la 24) Test double... -> pare ca outputul tau e bun dar ai bagat un funny character in forma de triunghi p-acolo, nu stiu cum reusesti sa il bagi, poate nu pui \0 cand prntezi stringu`, nu imi dau seama. -marci nona megen jerry rachmaninoff frederique vanny alyss carlee betsey winona daphna cindie wynn jeanie +marci nona megen jerry rachmaninoff frederique vanny alyss carlee betsey winona daphna cindie wynn jeanie Momentan astea sunt singurele idei acum. 2017-03-13 14:11 GMT+02:00 Adriana Dinca <dinca.adria...@gmail.com>: > Buna Mihai, > > Pe vmchecker e urcata ultima arhiva care care la rulare din Cygwin imi > genereaza outputuri diferite pt testul 2. > Username-ul meu de cs este adriana.dinca. > > Cred ca acest comportament se datoreaza modului in care programul meu aloca > memoria. > > Am incercat astazi sa reproduc problema si nu am mai reusit. > > In schimb obtin outputuri diferite la rularea aceluiasi executabil cu > aceleasi argumente pentru un alt test. > > O sa rulez cu gdb sa vad daca gasesc problema. > > Multumesc pt raspuns. > > O zi faina, > Adriana > > > > > > > On 13 Mar 2017 7:59 a.m., "Mihai Barbulescu" <b12mi...@gmail.com> wrote: > > 2017-03-12 20:05 GMT+02:00 Adriana Dinca via so <so@cursuri.cs.pub.ro>: >> Buna tuturor, >> >> Am urmatoarea problema atunci cand rulez test2.in. >> >> Pe Linux testul imi trece fara probleme. >> >> Pe Windows are urmatorul comportament: >> - daca rulez executabilul din Cygwin si dau comenzile de la stdin obtin >> outputul corect >> - daca rulez executabilul din Cygwin si dau ca parametru fisier-ul cu >> aceleasi comenzi nu imi afisaza nimic. (nici macar printf de pe primul >> rand >> al main-ului) >> - daca rulez executabilul din Visual Studio Power Shell imi afisaza printf >> de pe primul rand din main, insa crapa si cand citesc de la stdin sau din >> fisier. >> >> Mentionez ca folosesc doar functii ANSI C si ca lucrez pe masina virtuala >> pusa la dispozitie de catre echipa de SO. >> >> Daca modific continutul fisierului test2.in prin modificarea lungimii >> cuvantului adaugat (fie < 8 caractere / > 8 caractere) nu apar problemele >> descrise mai sus. >> >> Am observat ca testul imi crapa daca adaug cuvinte care au lungimea egala >> cu >> 8 caractere. >> Daca inlocuiesc "vilfredo" cu "aaaaaaaa" obtin acelasi comportament. >> In schimb daca inlocuiesc cu "aaa" sau "aaaaaaaaaaaaa" merge fara >> probleme. >> >> Daca ati mai intalnit aceasta problema sau aveti vreo idee din ce cauza >> obtin acest comportament ciudat, v-as ruga sa imi dati de stire. >> >> Multumesc! >> > > Buna, > > Nu am reusit inca sa ma prind de acest comportament ciudat al tau. Pe > vmchecker e ultima versiune a codului care reproduce acest > comportament? > Eventual poti rula test2.in pas cu pas si sa ne dai aici pe lista tot > output-ul + descrierea comportamentului? E OK, ca nu dai cod sursa. > Asta ca sa stiu ce fac cand reproduc cu tema ta. > > De asemenea, pe Windows singurul scenariu valid este rularea din > Cygwin, nu va stresati cu rulat din visual studio debug shell sau > power shell sau windows cmd. Atat vmchecker cat si testele presupun > rularea din cygwin. > > -- > Cu stimă, > Mihai Bărbulescu > > -- Cu stimă, Mihai Bărbulescu _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii