Toon posts:

[C++] prog loopt vast na een dag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik heb in C++ een programma geschreven dat de data die op de compoort binnenkomt logt naar een bestand, dit lijkt allemaal goed te gaan, maar na een dag loopt hij vast..
de melding heeft iets te maken met winocc.cpp ofzo.. iets wat me niks zegt.
waaraan zou zoiets kunnen liggen? een geheugenprobleem? het besturingssysteem? Nu draait het op windows 98 namelijk.
En het is de bedoeling dat het toch minstens een maand blijft loggen...

heeft er iemand enig idee?

Verwijderd

Topicstarter
is het misschien handig als ik het project online zet, zodat een geinteresseerde kan bekijken wat ik precies heb?

  • grizzlybear
  • Registratie: Oktober 2001
  • Laatst online: 28-07 10:33
Dit klinkt als een memoryleak. Ergens ruim je dus iets niet op. Dat blijft in het geheugen staan en na verloop van tijd... crash. Je zou boundschecker of Rational Purify er eens overheen kunnen draaien om te kijken of dit inderdaad het geval is.

[offtopic]
Gebruik volgende keer even de "edit" knop!
[/offtopic']

Verwijderd

Topicstarter
grizzlybear schreef op 07 July 2003 @ 08:33:
Dit klinkt als een memoryleak. Ergens ruim je dus iets niet op. Dat blijft in het geheugen staan en na verloop van tijd... crash. Je zou boundschecker of Rational Purify er eens overheen kunnen draaien om te kijken of dit inderdaad het geval is.

[offtopic]
Gebruik volgende keer even de "edit" knop!
[/offtopic']
oke, ik ga dan boundschecker even downloaden en dat proberen, hopelijk is het makkelijk op te lossen, want het moet maandag af :'(

volgende keer zal ik de edit knop gebruiken :)

  • rollebol
  • Registratie: Mei 2000
  • Laatst online: 09-06 12:38
Heb je overigens wel eens geprobeerd die machine ook daadwerkelijk zo lang aan te hebben? Ik weet het niet meer precies, maar ik kan me herinneren dat Windows 98 na een bepaald (niet zo gek veel) aantal dagen vanzelf vastliep, ongeacht het programma dat je draait.

Verwijderd

Topicstarter
rollebol schreef op 07 July 2003 @ 08:43:
Heb je overigens wel eens geprobeerd die machine ook daadwerkelijk zo lang aan te hebben? Ik weet het niet meer precies, maar ik kan me herinneren dat Windows 98 na een bepaald (niet zo gek veel) aantal dagen vanzelf vastliep, ongeacht het programma dat je draait.
nou, de machine loopt nu nogsteeds, alleen het programma is vastgelopen.
nu heb ik het draaien op een windows 2000 machine, misschien dat het iets uitmaakt.. maar dat zie ik dan morgenvroeg pas.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:29

Creepy

Tactical Espionage Splatterer

rollebol schreef op 07 July 2003 @ 08:43:
Heb je overigens wel eens geprobeerd die machine ook daadwerkelijk zo lang aan te hebben? Ik weet het niet meer precies, maar ik kan me herinneren dat Windows 98 na een bepaald (niet zo gek veel) aantal dagen vanzelf vastliep, ongeacht het programma dat je draait.
49,5. Maar dat zou betekenen dat je de allereerste versie van Windows 95 zou draaien. Ik gok ook op een mem leak.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
zijn er ook freeware debuggers?
want boundschecker en rational purify krijg ik niet gedownload, zelfs de trials niet.. :(

  • Zoppie
  • Registratie: December 2000
  • Niet online
Ik denk dat het handig is al je je project online zet, dan kunnen we kijken of we het zo zien.

[ Voor 2% gewijzigd door Zoppie op 07-07-2003 09:17 . Reden: tekstuele aanpassing ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22-08 01:56
Ik vind dat hier wel heel snel conclusies worden getrokken. Zelf ben ik er absoluut niet van overtuigd dat het om een memory leak gaat; het zou zowat alles kunnen zijn, met de informatie die we nu hebben. Verder kan ik me moeilijk voorstellen dat je programma crasht door een memory leak, tenzij je echt al het beschikbare geheugen opgebruikt of een heel slechte standaardlibrary gebruikt (wat me vandaag de dag niet zo reëel lijkt). Aangezien je programma alleen maar invoer uit de compoort logt, lijkt me niet dat je gigantische hoeveelheden geheugen gebruikt. Sterker nog, het lijkt me erg waarschijnlijk dat je helemaal geen geheugen alloceert.

Volg dus maar liever gewoon even de FAQ/QuickStart betreffende de inhoud van een goede topicstart en vertel ons welke foutmelding je exact krijgt. Met "iets van winocc.cpp ofzo" kunnen we niets!

Verwijderd

Topicstarter
Soultaker schreef op 07 July 2003 @ 09:18:
Volg dus maar liever gewoon even de FAQ/QuickStart betreffende de inhoud van een goede topicstart en vertel ons welke foutmelding je exact krijgt. Met "iets van winocc.cpp ofzo" kunnen we niets!
ja, ik zal als ik de foutmelding weer krijg duidelijker noteren wat het is, maar dat is dan morgen pas, aangezien het programma pas na een dag crasht..
Ik had het vrijdagochtend om 10 uur aangezet, en zaterdagnacht om 5 uur liep het vast.
Ik heb zelf verder geen idee waaraan het ligt, en ik dacht als ik hier even informeer naar wat de meest voor de hand liggende oorzaak zal zijn, dan kan ik gerichter zoeken..

  • Zoppie
  • Registratie: December 2000
  • Niet online
Vertel dan ook gelijk wat voor compiler je gebruikt, wat voor os, eventuele libraries, het logbestand voordat de app crasht, etc.

Hoe meer info we hebben, hoe beter we kunnen helpen.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22-08 01:56
Verwijderd schreef op 07 juli 2003 @ 09:25:
ja, ik zal als ik de foutmelding weer krijg duidelijker noteren wat het is, maar dat is dan morgen pas, aangezien het programma pas na een dag crasht..
Oh ja, dat is natuurlijk lastig debuggen. ;)

Daarom lijkt het me heel verstandig dat je ook leert gangbare tools te gebruiken en je gecrashte programma voor debugresultaten te bewaren. Welk platform en welke compilers gebruik je? Onder UNIX-achtige besturingssystemen kun je zogeheten core-files opslaan, waar de executiestaat op het moment dat het programma crashte, in opgeslagen is. Microsoft Visual Studio heeft onder Windows ook zoiets, al moet je dan eerst het crashte programma in de IDE openen (waar automatisch om gevraagd wordt als je de boel goed geinstalleerd hebt) waarna je de situatie ook op kunt slaan. Maak in beide gevallen een kopie van de executable (liefst zodra je 'm opstart!), want in ieder geval voor coredumps geldt dat het moeilijk (zo niet onmogelijk) debuggen is als de coredump en de executable niet bij elkaar horen.
Ik had het vrijdagochtend om 10 uur aangezet, en zaterdagnacht om 5 uur liep het vast. Ik heb zelf verder geen idee waaraan het ligt, en ik dacht als ik hier even informeer naar wat de meest voor de hand liggende oorzaak zal zijn, dan kan ik gerichter zoeken..
Tja, die kans is wel heel klein natuurlijk. Ik kan hier wel clichés gaan opnoemen over kristallen bollen enzo, maar feitelijk komt het er gewoon op neer, zoals de QuickStart ook vraagt, dat we gewoon informatie zoals het gebruikte platform, de compiler, de libraries en details over de implementatie nodig hebben om enigszins in te kunnen schatten waar de fout zou kunnen liggen. Ook hebben velen hier (ikzelf in de eerste plaats) geen zin om uren te besteden aan het opnoemen van een schier oneindige lijst mogelijkheden, alleen maar omdat een topicstart te lam is om een beetje contextinformatie te verschaffen (NOFI). Als je graag geholpen wilt worden met je probleem, mag je zelf ook wel wat moeite in het topic steken, en dus een beetje meedenken met de mensen die je probleem op proberen te lossen.

edit: Misschien ten overvloede, maar maak dus ook een debug build. Zonder debug symbols is het wel heel erg vervelend C++ code debuggen. Test desnoods het hele proces een keer, met een opzettelijk crashend programma (een oneindig recursieve functioncall ofzo), zodat je weet dat je tools werken. Als je elke keer een dag op de resultaten moet wachten, is het knap stom om die resultaten elke dag weer weg te gooien.

[ Voor 12% gewijzigd door Soultaker op 07-07-2003 09:41 ]


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21:31
Wat misschien ook mogelijk is is om je programma te 'versnellen'. DWZ de lus die je programma doorloopt op een of andere manier versneld aan te roepen zodat je niet zo lang hoeft te wachten voordat ie crashed.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1