Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 20394|Απάντηση: 0

[Αποσυναρμολόγηση] c# Αποσυναρμολόγηση Tutorial.net Εργαλείο απομεταγλώττισης προγράμματος (ILSpy)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 6/6/2015 11:09:21 π.μ. | | | |
Χρήση του εργαλείου αποσυμπίλησης ILSpy. Ωστόσο, το ILspy απαιτεί την εγκατάσταση του .NET Framework 4.0 στον υπολογιστή σας. Το ILspy μπορεί να μετατρέψει ένα αρχείο dll σε γλώσσα C# ή VB. Το ILspy μπορεί να αποθηκεύσει ένα μόνο αρχείο ως αρχείο .cs ή .vb αρχείο και όταν υπάρχουν πολλά αρχεία, μπορείτε να επιλέξετε να το αποθηκεύσετε ως αρχείο έργου. Οι δηλώσεις C# μπορούν να απομεταγλωττιστούν από το ILspy και μπορούν να υποστηρίξουν την απομεταγλώττιση των δηλώσεων απόδοσης απόδοσης και των εκφράσεων λάμδα.

Συνήθιζα να χρησιμοποιώ το Reflector για να δω κάποιες πληροφορίες σχετικά με τη βιβλιοθήκη .NET, αλλά από τον Φεβρουάριο του 2011, το Reflector έχει μετακινηθεί σε λογισμικό επί πληρωμή, έτσι οι προγραμματιστές που αγαπούν το ελεύθερο λογισμικό έχουν στραφεί στην ανάπτυξη του δικού τους απομεταγλωττισμένου λογισμικού. Έτσι το ILspy γεννήθηκε λόγω τύχης. Το ILSPY είναι ένα εργαλείο ανοιχτού κώδικα που αντικαθιστά τους ανακλαστήρες και απομεταγλωττίζει κώδικα παρόμοιο με τους ανακλαστήρες.

Το SharpDevelop είναι ένα άλλο και μοναδικό . .NET ανοιχτό εργαλείο και είναι ανοιχτού κώδικα. Προσφέρει επίσης αρκετά καλές δυνατότητες, σχεδόν ξαναγράφοντας το Visual Studio. Στην πιο πρόσφατη έκδοση, η υποστήριξη για τα αρχεία ασφαλείας λύσεων και τα αρχεία έργου του Visual Studio έχει προστεθεί απευθείας. Το ILSpy είναι ένα εργαλείο απομεταγλωττιστή από την ομάδα SharpDevelop και είναι επίσης ανοιχτού κώδικα, και ο αποσφαλματωτής και ο απομεταγλωττιστής του περιγράφονται παρακάτω.


Στιγμιότυπο οθόνης της διεπαφής του ILspy


Η διεπαφή του ILSpy είναι παρόμοια με το Reflector, με στοιχεία ελέγχου δέντρου που δείχνουν τη συναρμολόγηση και τον τύπο της στα αριστερά και τον αντίστοιχο πηγαίο κώδικα στα δεξιά. Η βασική λειτουργία απομεταγλώττισης δεν είναι κακή σε σύγκριση με το Reflector, και μερικές φορές μπορεί ακόμη και να απομεταγλωττιστεί με το ILSpy για συγκροτήματα που δεν μπορούν να απομεταγλωττιστούν (λόγω κρυπτογράφησης) με το Reflector.

Το ILspy απαιτεί την εγκατάσταση του .NET Framework 4.0 στον υπολογιστή σας.Υπάρχουν πολλά χαρακτηριστικά που χρησιμοποιούνται συνήθως στο ILspy

Η βασική λειτουργία απομεταγλώττισης τύπου είναι διαθέσιμη

Τώρα υποστηρίζεται μόνο η απομεταγλώττιση του πηγαίου κώδικα σε γλώσσες C# και IL, όχι VB.

Οι αποδόσεις είναι:

Η δυνατότητα αποθήκευσης κώδικα του ILSpy

Όταν κάνετε κλικ σε έναν τύπο, επιλέγοντας File-> Save Code απομεταγλωττίζεται ο τρέχων τύπος και αποθηκεύεται στο καθορισμένο αρχείο και όταν επιλέγετε μια συγκρότηση, ο Save Code αποθηκεύεται ως αρχείο έργου (csproj) και όλοι οι τύποι του προστίθενται στο έργο.


Η δυνατότητα εντοπισμού σφαλμάτων του ILSpy

Το πρόγραμμα εντοπισμού σφαλμάτων εδώ δεν αναφέρεται στο Visual Studioπηγήεπίπεδο του προγράμματος εντοπισμού σφαλμάτων, αλλά αναφέρεται στο πρόγραμμα εντοπισμού σφαλμάτων της διάταξης. Το Reflector διαθέτει ένα πρόσθετο που μπορεί να συνδεθεί απευθείας στο Visual Studio για τον εντοπισμό σφαλμάτων βιβλιοθηκών τύπου τρίτων χωρίς να χρειάζεται να απομεταγλωττίσετε τις βιβλιοθήκες τύπου τρίτων και να τις προσθέσετε στο έργο με τη μορφή πηγαίου κώδικα.

Το ILSpy διαθέτει επίσης αυτή τη δυνατότητα, η οποία σας επιτρέπει να διορθώνετε απευθείας συγκροτήματα τρίτων, με δύο επιλογές

Εάν η βιβλιοθήκη τύπων άλλου κατασκευαστή είναι εκτελέσιμο, μπορείτε να ξεκινήσετε το πρόγραμμα με Εντοπισμός σφαλμάτων εκτελέσιμου αρχείου.

Εάν η βιβλιοθήκη τύπων άλλου κατασκευαστή είναι μια συγκρότηση (DLL), μπορείτε να την επισυνάψετε με μια εφαρμογή Επισύναψη σε εκτέλεση για να ξεκινήσετε τον εντοπισμό σφαλμάτων στη συγκρότηση.


Όπως μπορείτε ήδη να δείτε από την παραπάνω εικόνα, η χρήση του είναι ίδια με τον εντοπισμό σφαλμάτων στον πηγαίο κώδικα. Όπου πρέπει να παρακολουθήσετε την τιμή της μεταβλητής, ορίστε ένα σημείο διακοπής και όταν το πρόγραμμα εκτελείται σε αυτό το σημείο, μπορείτε να παρατηρήσετε την τιμή της μεταβλητής παρακολουθώντας τη φόρμα.

Η διαφορά μεταξύ των δύο είναι ότι όταν γίνεται εντοπισμός σφαλμάτων στο Attach to a running application, εάν ο κώδικας βελτιστοποιηθεί από τον μεταγλωττιστή, η οθόνη δεν θα λάβει την τιμή του.

Όπως φαίνεται στην εικόνα, η τιμή του αριθμού μεταβλητής που αποσφαλματώνεται δεν μπορεί να εμφανιστεί επειδή ο κώδικας έχει βελτιστοποιηθεί. Η επίσημη προτεινόμενη μέθοδος είναι ο εντοπισμός σφαλμάτων ενός εκτελέσιμου αρχείου


Όπως και με τον εντοπισμό σφαλμάτων πηγαίου κώδικα .NET στο Visual Studio, μπορείτε να εισέλθετε, να περάσετε, να συνεχίσετε και η γραμμή κατάστασης θα εμφανίσει την αναμονή, την εκτέλεση και τον εντοπισμό σφαλμάτων.

Εκτός από τον εντοπισμό σφαλμάτων του κώδικα σε μορφή C#/VB του συγκροτήματος, μπορεί επίσης να διορθωθεί σε κώδικα IL, όπως φαίνεται στο παρακάτω σχήμα

Το πρόγραμμα εντοπισμού σφαλμάτων του ILSpy υπάρχει ως πρόσθετο, φροντίστε να συμπεριλάβετε το πρόσθετο ILSpy.Debugger.


Αλλά αποσφαλμάτωση. Οι συγκροτήσεις .NET πρέπει να απαιτούν αρχεία PDB. Ωστόσο, το ILSpy δεν δημιουργεί αρχεία PDB (δεν δημιουργούνται αρχεία PDB) και δεν μπορεί να εντοπίσει σφάλματα ASP.NET εφαρμογές web και υπηρεσίες web.






Προηγούμενος:>> << πρόσληψης
Επόμενος:Shenzhen Liantianxia Technology Co., Ε.Π.Ε
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com