Saat saya membuat dan menyusun "Halo, Dunia!" aplikasi di C #, saya mendapatkan tiga file di folder Debug selain dari exe utama (misalnya HelloWorld.exe)
- HelloWorld.vshost.exe
- HelloWorld.pdb
- HelloWorld.vshost.exe.manifest
Tujuan apa yang dilayani oleh file-file ini?
c#
visual-studio
debugging
Milen
sumber
sumber
.exe - executable 'normal'
.vshost.exe - versi khusus yang dapat dieksekusi untuk membantu debug; lihat MSDN untuk detailnya
.pdb - Program Data Base dengan simbol debug
.vshost.exe.manifest - sejenis file konfigurasi yang sebagian besar berisi dependensi pada pustaka
sumber
File vshost.exe adalah executable yang dijalankan oleh Visual Studio (executable host Visual Studio). Ini adalah executable yang menautkan ke Visual Studio dan meningkatkan debugging.
Saat Anda mendistribusikan aplikasi Anda ke orang lain, Anda tidak menggunakan file vshost.exe atau .pdb (debug database).
sumber
Menambahkan, Anda dapat mematikan pembuatan file vshost untuk konfigurasi build Release Anda dan mengaktifkannya untuk Debug .
Langkah
Referensi
Kutipan dari MSDN Cara: Nonaktifkan Proses Hosting
Panggilan ke API tertentu dapat terpengaruh saat proses hosting diaktifkan. Dalam kasus ini, perlu untuk menonaktifkan proses hosting untuk mengembalikan hasil yang benar.
Untuk menonaktifkan proses hosting
Ketika proses hosting dinonaktifkan, beberapa fitur debug tidak tersedia atau mengalami penurunan kinerja. Untuk informasi lebih lanjut, lihat Debugging dan Proses Hosting .
sumber
Saya tidak yakin, tapi saya yakin ini adalah optimasi debugging. Namun, saya biasanya mematikannya (lihat properti Debug untuk proyek ini) dan saya tidak melihat adanya pelambatan dan saya tidak melihat batasan dalam hal debugging.
sumber
Tampaknya ini merupakan proses kerangka kerja yang berjalan lama untuk debugging (untuk mengurangi waktu muat?). Saya menemukan bahwa ketika Anda menjalankan aplikasi dua kali dari debugger sering kali proses vshost.exe yang sama akan digunakan. Itu hanya membongkar semua DLL yang dimuat pengguna terlebih dahulu. Ini melakukan hal-hal aneh jika Anda bermain-main dengan kait API dari proses yang dikelola.
sumber