Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: chybová hláška a co s ní?  (Přečteno 1659 krát)

chapefm

  • Návštěvník
  • Příspěvků: 4
chybová hláška a co s ní?
« kdy: 22 Dubna 2008, 14:34:40 »
Vytvořil jsem si školní program který má simulovat příkazový řádek. Program jsem psal v Borland C++ a zkoušel ho na Solarisu, tam fungoval. teď jsem to odzkoušel doma a ve škole na Ubuntu a hodí to chybovou hlášku a program se neprovede.
vstup je ve formátu:   ps -ef | grep root | wc -l > count.txt        // délka příkazu neni rozhodující, je zde jen pro ilustraci   a soubor se vytvoří, ale je prázdný

a toto to vypíše, s tím že ten Memory map:  jsme sem nezkopiroval cely, ale asi jen 1/5
*** glibc detected *** ./pokus: double free or corruption (out): 0x0804d198 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7cded65]
/lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7ce2800]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ea7d81]
/usr/lib/libstdc++.so.6(_ZdaPv+0x1d)[0xb7ea7ddd]
./pokus[0x804923c]
./pokus[0x8049f3f]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7c8b050]
./pokus(__gxx_personality_v0+0x71)[0x8048e91]
======= Memory map: ========
08048000-0804c000 r-xp 00000000 08:01 1138994    /home/ondra/Desktop/pokus
0804c000-0804d000 rw-p 00003000 08:01 1138994    /home/ondra/Desktop/pokus
0804d000-0806e000 rw-p 0804d000 00:00 0          [heap]
b7b00000-b7b21000 rw-p b7b00000 00:00 0
b7b21000-b7c00000 ---p b7b21000 00:00 0



může mi někdo poradit kde je chyba? na Googlu jsme se díval a nic s touhle chybou 0x0804d198 jsem nenašel.
díky

Pavel Půlpán

Re: chybová hláška a co s ní?
« Odpověď #1 kdy: 22 Dubna 2008, 14:43:46 »
To bude tím, že 0x0804d198 bude adresa alokace v paměti. Aneb jiné dříví hoří jinak.

Spíš bych strejčkovi dal hledat "double free or corruption"! ;)

chapefm

  • Návštěvník
  • Příspěvků: 4
Re: chybová hláška a co s ní?
« Odpověď #2 kdy: 22 Dubna 2008, 15:32:31 »
po zadání  "double free or corruption" vyjelo plno odkazů a tak jsem to specifikoval na double free or corruption (out)
a tím se probírám, a pročítám a hledám, a proto jsem sem zapsal i to místo v paměti, i knihovny kterých se to týká.

jinak pod hláškou double free or corruption (out)  je spousta bugu ve všech možných programech a vše odkazují na knihovny.
Začínám mít pocit že volání některých funkcí je v Borlandu a Solarisu jiné než v Ubuntu.

Jinak část problémů co je k tomu to tématu na netu byla vždy vyřešena novějšími knihovnami o něco později

Pavel Půlpán

Re: chybová hláška a co s ní?
« Odpověď #3 kdy: 22 Dubna 2008, 15:36:07 »
Může to být nějaký libs-bug, může to být nešikovně napsaný algoritmus, ...

chapefm

  • Návštěvník
  • Příspěvků: 4
Re: chybová hláška a co s ní?
« Odpověď #4 kdy: 22 Dubna 2008, 15:43:56 »
no prave ze pod Solarisem a v Borlandu to jede v pohodě a bez bugu  ???
tak to se asi holt budu muset kouknout na všechny funkce zda je ubuntu nemá kapku jinak

Pavel Půlpán

Re: chybová hláška a co s ní?
« Odpověď #5 kdy: 22 Dubna 2008, 15:53:22 »
Musíš vzít v potaz aj verze překladače a knihoven. Mluvíš tu třeba o Solarisu. Který myslíš? Desina třeba používá GCC toolkit 3.4.2 (Release on September 6, 2004). Borlandem myslíš co? Prehistorickou sadu někdy z devadesátých let nebo dnes používané IDE?

chapefm

  • Návštěvník
  • Příspěvků: 4
Re: chybová hláška a co s ní?
« Odpověď #6 kdy: 22 Dubna 2008, 16:06:34 »
Jsou to dne spoužívané verze, Solaris co jede na CVUT  bohuzel z webu nezjistiim verzi, nelognu se tam a Borland nějakou loňskou free verzi pro skolni uziti

 

Provoz zaštiťuje spolek OpenAlt.