Avatar billede sorenriis Nybegynder
06. juni 2005 - 16:15 Der er 11 kommentarer og
1 løsning

Program bliver sløvt

Jeg har fået til opgave at rette en fejl i et program - og det giver mig en del bøvl.

Normalt bruger programmet ca. 20 MB Ram og ganske lidt CPU.
Men når det har kørt i godt 2-3 dage med press på, stiger ramforbruget til godt 60MB og bruger næsten 100% CPU.

Jeg har kigget længe, men synes ikke lige jeg kan finde fejlen.
Findes der et eller andet utility som kan hjælpe mig med at finde denne meget irriterende fejl?
Avatar billede bertelbrander Novice
06. juni 2005 - 20:13 #1
Hvis du bruge Win2000 eller WinXP kan du kikke på talene for "Handles", "USER-objects" og "GDI-Objects" i taskmanageren/joblisten, du skal måske enable dem først under Vis -> Vælg Kolonner.

Hvis de stiger har du en resource leak, det kan f.ex. være en DC eller font du ikke får frigivet.

Borland Builder har et godt værktøj der kan bruges til at fange den slags med, det hedder CodeGuard.
Avatar billede sorenriis Nybegynder
06. juni 2005 - 23:20 #2
Jeg bruger Visual C++ 6...
Der findes ikke noget lignende CodeGuard til det?
Avatar billede bertelbrander Novice
06. juni 2005 - 23:34 #3
Du bør kunne bruge Visual C+ til at finde memory leak. Jeg har ikke set nogen metode til at finde andre Resource Leaks. Der findes sansynligvis købe programmer der kan.

Bruger du MFC?
Avatar billede sorenriis Nybegynder
06. juni 2005 - 23:43 #4
Bruger du MFC -> Ja.. Det gør jeg...
Avatar billede sorenriis Nybegynder
06. juni 2005 - 23:45 #5
Og hvordan finder du et memory leak?
Mangler desværre erfaring på dette punkt.
Avatar billede bertelbrander Novice
06. juni 2005 - 23:51 #6
Prøv at kikke på denne:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_debug_reporting_functions_of_the_c_run.2d.time_library.asp

Visual Studio kan udskrive info om alle hukommelses blokke der ikke er frigivet, når dit programme stopper.

Det er default slået til for nye MFC projecter i debug versionen.
Avatar billede bertelbrander Novice
06. juni 2005 - 23:55 #7
Avatar billede sorenriis Nybegynder
07. juni 2005 - 10:29 #8
BertelBrander - Er du på messenger?
Har brug for lidt "personlig support" tror jeg :-)

Du kan adde mig på riis2002'at'hotmail.com, hvis du har tid til at hjælpe.
Avatar billede bertelbrander Novice
07. juni 2005 - 20:31 #9
Jeg er ikke på messenger.

Du må gerne sende en email: bertel@post4.tele.dk
Avatar billede sorenriis Nybegynder
07. juni 2005 - 22:12 #10
Tak.. afgiver du lige et svar? :-)
Avatar billede bertelbrander Novice
07. juni 2005 - 22:39 #11
Jeg samler ikke på point.
Avatar billede sorenriis Nybegynder
08. juni 2005 - 01:21 #12
Ok.. Jeg takker for svarene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester