Pernahkah Anda harus men-debug atau profil file yang dapat dieksekusi (file .exe) yang Anda tidak memiliki kode sumber atau tidak dapat membangunnya? Maka jenis proyek Visual Studio yang paling tidak dikenal, proyek EXE, adalah untuk Anda!
Di Visual Studio, Anda dapat membuka file EXE apa pun sebagai "proyek". Cukup buka
File -> Open -> Project / Solution dan buka
file .exe . Seolah itu adalah file
.sln . Visual Studio akan membuka file EXE ini sebagai proyek. Fitur ini sudah ada sejak lama. Ini berfungsi pada semua versi Visual Studio yang saat ini didukung, dan dokumentasinya ada di halaman
Debugging aplikasi, yang bukan bagian dari solusi Visual Studio .
Debugging
Seperti dalam proyek reguler, Anda dapat mulai debugging dengan F5, yang akan meluncurkan EXE dan mengaktifkan debugger. Jika Anda ingin men-debug peluncuran, Anda dapat mulai menggunakan F11, yang akan meluncurkan EXE dan berhenti di baris pertama kode pengguna. Kedua opsi ini tersedia di menu konteks untuk proyek EXE di jendela
Solution Explorer , seperti yang ditunjukkan di bawah ini:

Untuk debugging Anda akan memerlukan simbol, file PDB, untuk EXE dan semua DLL yang perlu didebug. Visual Studio akan mengikuti proses yang sama dan mencoba untuk mendapatkan karakter dengan cara yang sama seperti ketika men-debug proyek biasa. Karena tidak mungkin file PDB didistribusikan dengan file .exe, Anda mungkin ingin menemukannya di assembly atau, lebih baik lagi, di server simbol. Informasi dan rekomendasi lebih lanjut tentang penggunaan simbol dapat ditemukan di
blog ini.
Untuk debugging yang efektif, Anda juga akan memerlukan kode sumber yang digunakan untuk membangun EXE, atau bahkan untuk beberapa file yang menarik bagi Anda. Anda perlu menemukan file-file ini dan membukanya di Visual Studio. Jika kode sumber tidak cocok dengan kode sumber yang dikompilasi, Visual Studio EXE akan memperingatkan Anda ketika Anda mencoba memasukkan breakpoint dan breakpoint tidak akan terikat. Perilaku ini dapat diubah di
jendela Pengaturan mengintip . Pada tampilan parameter, klik teks tautan
Harus cocok dengan sumber , lalu pilih kotak centang untuk menyelesaikan sumber yang tidak pantas, seperti yang ditunjukkan di bawah ini. Tentu saja, dengan sumber yang tidak pantas, Anda tidak pernah tahu apa yang akan terjadi, jadi gunakan ini hanya dengan risiko Anda sendiri.

Jika EXE dikompilasi dengan
SourceLink , maka informasi sumber akan dimasukkan dalam PDB, dan Visual Studio akan mencoba memuat sumber secara otomatis. Ini adalah alasan yang sangat bagus untuk menggunakan SourceLink dengan proyek Anda. Bahkan jika Anda memiliki set lokal, Anda mungkin tidak memiliki versi yang digunakan untuk membangun biner. SourceLink adalah cara andal Anda untuk memastikan bahwa sumber yang benar terkait dengan biner yang benar.
Jika Anda tidak dapat memperoleh kode sumber, Anda masih memiliki beberapa opsi:
- Gunakan alat ini untuk mendekompilasi rakitan kembali ke C #, yang dapat Anda kompilasi ulang menjadi rakitan baru untuk memperbaiki yang lama.
- ILSpy adalah pilihan tepat untuk ini, tetapi ada banyak alat berbayar dan gratis lainnya yang bagus.
- Gunakan jendela alat Disassembly di Visual Studio.
- Dokumen Source Not Found berisi tautan untuk melihat pembongkaran . Perlu diingat bahwa jika Anda terbiasa men-debug kode C #, tampilan disassembly adalah pilihan terakhir.
Terakhir, jika Anda perlu meneruskan argumen apa pun ke file EXE yang di-debug, Anda dapat mengonfigurasinya bersama dengan parameter lain di halaman
Project Properties (
Klik kanan -> Properties di node proyek di Solution Explorer).

Pembuatan profil
Anda juga dapat menggunakan alat profiling dengan file .exe dengan menjalankannya dari
Debugging -> Performance Profileing . Pada halaman peluncuran alat profil, Anda dapat memilih alat mana yang akan digunakan melawan EXE. Informasi lebih lanjut tentang pembuatan profil dapat ditemukan dalam dokumen-dokumen ini (
https://docs.microsoft.com/en-us/visualstudio/profiling/profiling-feature-tour?view=vs-2019 ).

Kesimpulan
Itu saja. Tinjauan singkat tentang bagaimana Anda dapat menggunakan Visual Studio untuk debug dan profil aplikasi yang tidak Anda buat dan yang bahkan mungkin tidak memiliki kode sumber. Lain kali Anda perlu men-debug atau profil file .exe, pastikan untuk membukanya sebagai solusi di Visual Studio!