Se koden gratis med dotPeek

Kildekoden er flott - når du har den. Men i denne ikke-så-perfekte verden mister eller glemmer organisasjoner ofte kildekoden når en applikasjon er rullet ut (noe som er en annen grunn til versjonskontroll). Det blir bare et problem når problemer oppstår eller det ønskes endringer. Jeg ble presentert for en slik situasjon på et nylig prosjekt.

Klienten hadde DLLer sammen med noen konfigurasjonsfiler. Jeg roet frykten deres og rakte etter min favorittkompilator - RedGate. NET Reflector - bare for å innse at den ikke lenger er gratis. Jeg har ikke skyld på RedGate for å ville tjene penger, og jeg er litt glad for at selskapet gikk den ruten fordi det tvang meg til å lete andre steder og oppdage dotPeek. Jeg ble snart vassende gjennom koden bak koden. ( Merk: Du ser omvendt konstruert kildekode og ikke den sanne eller originale kildekoden når du arbeider med et verktøy som dotPeek.)

Mer enn en titt

Folkene på JetBrains gjør dotPeek tilgjengelig som en gratis nedlasting. Den nåværende versjonen av dotPeek er 1.1, og den installeres via et msi-installasjonsprogram. Figur A viser skjermbildet for den første installasjonen.

Figur A

Det første skjermbildet som ble presentert når du installerer dotPeek. (Se et forstørret bilde av dette bildet.)

Dekompilering av kode via dotPeek er enkelt. Du laster inn den eller de tvilsomme filene - den støtter DLLs, EXEs, Windows 8 metadatafiler og mer - og ta en titt på den dekompilerte kildekoden. Figur B viser dotPeek åpnet første gang etter installasjonen. Figur C viser alternativene for å åpne og vise filer og kataloger. Du kan åpne en fil fra filsystem eller GAC, samt bla gjennom en katalog.

Figur B

DotPeek-verktøyet åpnet første gang etter installasjon. (Se et forstørret bilde av dette bildet.)

Figur C

Filer åpnes enkelt via Fil-menyen.

Med dotPeek installert og lastet, kan du enkelt laste sammen kompilerte filer for å se nærmere på innsiden. Figur D viser filen log4net.dll som er lastet. DotPeek-grensesnittet lister opp DLL-navnet med referanser, ressurser og navnefelt oppført under - hver kan utvides. Navnefeltet utvides for å avsløre en liste over klasser; dobbeltklikk på klassens navn for å se på kildekoden.

Figur E viser hurtigmenyen (høyreklikk på navn) tilgjengelig for klasser. Alternativet Finn bruk i figur E er nyttig fordi det lar deg utforske når og hvor det brukes i den dekompilerte kildekoden. En annen interessant funksjon som nettopp er lagt til den nåværende utgivelsen er alternativet Eksporter til prosjekt (figur C), som lar deg eksportere generert kildekode til et Visual Studio-prosjekt - slags fullføre eller reversere livssirkelen med et utviklingsprosjekt - starter ved dekompilering og slutter på et faktisk prosjekt. I tillegg kan du laste inn symboler fra en kildeserver når det er tilgjengelig (for eksempel nedlasting fra Microsoft).

Figur D

Jobber med en DLL i dotPeek. (Se et forstørret bilde av bildet.)

Figur E

Det er en rekke alternativer for å jobbe med dekompilert kilde. (Se et forstørret bilde av bildet.)

Mine inntrykk av dotPeek

Totalt sett liker jeg hele brukeropplevelsen til dotPeek. Den har utseendet og følelsen av en utviklingside, og de som er fans av ReSharper vil elske det. Den laster raskt, og installasjonen er en lek (uten problemer med tillegg som Google-verktøylinjen). Det tilbyr enkel navigering, og søk er bare et klikk unna. Finn bruk er et flott alternativ for å få en følelse av hvordan noe kan brukes. Alternativene Gå til, Gå til erklæring og Gå til implementering, er verdifulle når du navigerer ukjent kode.

På ulempen tilbyr dotPeek bare C # -kode. Uansett hva du dekompilerer, genererer det C #. Selv om jeg er en C # -utvikler som bare av og til dabler i VB.NET, virker det som VB.NET-alternativene kan være nyttige (spesielt for VB.NET-utviklere).

Jeg er fremdeles i bryllupsfasen med dotPeek, så vi får se om mitt inntrykk av verktøyet endrer seg over tid.

Omorganisere verktøykassen

Mens jeg har de tre viktigste utviklingsverktøyene mine, er det en rekke andre elementer som trengs for de ikke så vanlige oppgavene (som å håndtere situasjoner der kildekoden ikke er tilgjengelig), med dotPeek som erstatter .NET Reflector i verktøykassen min. Jeg har brukt dotPeek på et par prosjekter, og det er enkelt å bruke og leverer alt jeg trenger. Med et selskap som JetBrains bak, håper jeg dotPeek fortsetter å forbedre og opprettholder den attraktive prislappen.

Hvis du er en fan av dotPeek eller et alternativ som .NET Reflector eller til og med JustDecompile, gi oss beskjed i diskusjonen.

© Copyright 2021 | pepebotifarra.com