Artikel top billede

(Foto: Computerworld)

Compuware Devpartner Studio 9.0

Compuware Devpartner Studio er nok ikke noget, der lige ringer bekendt, men hvis vi fortæller dig, at dette værktøj oprindeligt var kendt som NuMega, så er der nok en C/C++-programmør eller to, der får tårer i øjnene.

Af Tom Madsen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

NuMega blev overtaget af Compuware i slutningen af halvfemserne og udviklet til det, der idag er Devpartner Studio. Devpartner Studio er nu oppe i version 9 med support for Visual Studio 2008 og .NET 3.5. Devpartner Studio er en suite af værktøjer, der integrerer sig ind i Visual Studio.

Suiten af værktøjer består af BoundsChecker, der tager sig af C++-kode. BoundsChecker kan udelukkende anvendes imod C++-kode, der skrevet direkte til Win32. Det vil sige, at C++/CLI-kode, der kører på CLR, ikke kan checkes af BoundsChecker.

Grunden til det er, at BoundsChecker primært anvendes til at finde memory le­aks i kode, og eftersom C++/CLI kører som managed kode, giver det ikke mening at anvende BoundsChecker her.

Hukommelsesallokering

Code Coverage kan bruges til at se, hvor mange linjer kode der er blevet testet med dine Unit-test. Så kan du med det samme se, om de unit-test, du har designet, kommer langt nok omkring i din kode. Du kan se et eksempel på sådan en test på figur 1.

Værktøjet dér analyserer hukommelsesanvendelsen i din applikation. Hvis du kører din applikation med denne facilitet slået til, så får du, når du er færdig med dine test, en analyse af, hvordan hukommelsen er blevet allokeret, og hvor meget hukommelse din applikation har brugt, delt på de individuelle moduler i din kode.

Det vil sige, at du nemt og hurtigt kan se, hvor det giver mest mening at optimere hukommelsesforbrug, hvis det er en parameter for dine applikationer. Du kan se en grafisk repræsentation af sådan en test på figur 2.

Tidsrøvere

Det er også muligt at tjekke ydeevnen i dine applikationer. Devpartner Studio 9 kommer med et værktøj, der kan analysere, hvor lang tid din kode er om at gennemføre diverse operationer, mens de kører.

Det betyder, som med hukommelsesanalysen, at det er nemt for dig at fokusere på de specifikke områder, hvor du kan få mest ud af at optimere din kode. Når analysen er færdig, har du flere muligheder for at få resultatet vist.

På figur 3 har jeg valgt at få den vist i et format, hvor jeg kan se, hvor i min kode de største tidsrøvere er. Værktøjet kan bruges til analysere C++, C# og VB.NET-kode.

Man kan gemme alle disse analyser, så man kan følge udviklingen inden for de forskellige analyser under udviklingsforløbet. Man kan for eksempel gemme analyserne en gang om måneden og lave en graf over udviklingen til præsentation for ledelsen.

En dyr fornøjelse

Compuware har med Devpartner Studio sat standarden for kodeanalyse i Visual Studio, men Devpartner Studio er også en dyr fornøjelse. 20.000 kroner for en licens er mange penge, specielt når man tænker på, at en Visual Studio-licens i pro-udgaven kun koster det halve.

Men befinder man sig i et miljø, der anvender Visual Studio 2005 eller 2008, og har man behovet, så er det bestemt en overvejelse eller to værd.