Iklan

Pustaka bersama di Windows membuat pemrograman jauh lebih efisien untuk programmer yang tidak perlu menemukan kembali roda setiap kali ia perlu melakukan tugas bersama. Mereka juga memudahkan untuk memasang lubang keamanan dalam kode bersama ketika mereka ditemukan karena perlu ditambal di lebih sedikit tempat dan tidak mengharuskan setiap aplikasi dikompilasi ulang.

Terlepas dari aspek-aspek positif ini, mereka dapat menimbulkan masalah mereka sendiri ketika mencoba untuk memecahkan akar penyebab pesan kesalahan yang mungkin mereka hasilkan.

Pertanyaan Pembaca Kami:

Bagaimana cara saya memperbaiki masalah Windows Vista 32-bit C: \ Windows \ explorer.exe pada Dell Inspiron 530?

Setelah mengklik tombol OK dalam dialog yang ditunjukkan pada tangkapan layar, layar akan menghitam dan kembali normal berjalan, tetapi itu tidak akan memungkinkan saya untuk mengakses C, D, dan, kadang-kadang, drive E ketika mencoba mengaksesnya dari My Komputer.

Lari sfc / scannow tidak menemukan kesalahan. Saya mengunduh pembaruan dari situs web Dell dan Microsoft yang mencoba memperbaiki masalah ini. Saya juga telah menginstal Paket Redistributable Microsoft Visual C ++ 2010 (x86). PC benar-benar mutakhir menurut Pembaruan Windows.

instagram viewer

runtime-error

Balasan Bruce:

Catatan: Diskusi tentang Windows Explorer di Windows 7 dan versi sebelumnya juga berlaku untuk File Explorer di Windows 8 dan versi yang lebih baru. Jika ada perbedaan penting di antara mereka, itu akan dinyatakan secara eksplisit.

Windows Shell

Windows Explorer adalah shell dan berjalan sebagai proses explorer.exe seperti yang terlihat di Task Manager atau Explorer Proses Sysinternals Process Explorer - Penggantian Task Manager Paling Kuat [Windows]Jujur saja, Windows Task Manager tidak begitu bagus untuk memahami dan mengelola proses yang berjalan di komputer Anda. Bahkan pada Windows 8, yang jauh lebih baik, pengelola tugas tidak dapat mendekati ... Baca lebih banyak . Seperti banyak program Windows lainnya, semua fungsi yang disediakan oleh shell tidak dimasukkan ke dalam file yang dapat dieksekusi tunggal. Ada puluhan EXE dan lainnya File DLL Cara Memperbaiki Kesalahan File DLL yang Hilang Baca lebih banyak digunakan untuk mengimplementasikan lembar properti, penangan properti, peninjau pratinjau, menu konteks, dan banyak elemen lain yang Anda gunakan di Windows Explorer setiap hari.

Shell yang Dapat Dipanjangkan

Ekstensi Shell memungkinkan pemrogram untuk dengan mudah menambahkan fungsionalitas ke Windows Explorer dengan menulis DLL untuk melakukan tugas dan mendaftarkan DLL dengan sistem operasi, jadi Explorer tahu di mana menemukan kode untuk menyelesaikannya tugas. Sebagai contoh, 7-Zip Cara Mengekstrak File Dari ZIP, RAR, 7z, dan Arsip Umum LainnyaApakah Anda pernah dihadapkan dengan file .rar dan bertanya-tanya bagaimana cara membukanya? Untungnya, mengelola file ZIP dan arsip terkompresi lainnya sederhana dengan alat yang tepat. Inilah yang perlu Anda ketahui. Baca lebih banyak menambahkan sub-menu ke menu konteks standar, memberikan akses cepat ke tugas penanganan arsip, Sentinel Hard Disk Awasi Kesehatan HDD & SSD Anda dengan Hard Disk SentinelPernahkah Anda mengalami kegagalan drive? Sayangnya, tidak ada obat mujarab untuk mencegah kerusakan perangkat keras. Tetapi memantau HDD atau SSD Anda, untuk bertindak ketika kemungkinan kematiannya, adalah langkah pertama. Baca lebih banyak menambahkan ikon overlay ke ikon drive standar, sehingga Anda dapat melihat status kesehatan drive dengan cepat, dan HashTab menambahkan lembar properti baru, untuk menghitung dan menampilkan hash dari file yang dipilih.

menu konteks

Banyak dari ekstensi shell ini diimplementasikan sebagai server Component Object Model (COM) dalam proses. Ini berarti bahwa ketika suatu proses, dalam hal ini Windows Explorer, menggunakan ekstensi, itu tidak akan muncul di Task Manager atau Process Explorer sebagai proses yang berjalan terpisah dengan pengenal prosesnya sendiri (PID). Sebagai gantinya, itu mengeksekusi di dalam proses memanggil explorer.exe.

Proses Single-Instance Default

Windows Explorer ditulis untuk dapat berjalan sebagai dua proses terpisah, tetapi - dalam konfigurasi default - itu hanya akan menjalankan satu instance. Ketika pertama kali dieksekusi sebagai bagian dari proses startup, itu menciptakan lingkungan desktop Windows. Menjalankannya lagi membuat utas baru dalam proses yang ada, yang menampilkan jendela manajemen file yang sudah dikenal, alih-alih memulai proses baru.

Perilaku ini memungkinkan jejak memori berkurang, tetapi juga dapat membawa sedikit twist sendiri ketika pemecahan masalah. Kesalahan kritis atau pengecualian tidak tertangani dalam kode yang dieksekusi dalam proses explorer.exe, termasuk server dalam proses yang disediakan oleh DLL, akan menyebabkan seluruh lingkungan desktop turun bersamanya.

Dalam kebanyakan kasus, proses desktop akan dimulai kembali secara otomatis. Jika tidak restart, Anda masih harus dapat menggunakan Ctrl-Shift-Esc untuk membuka Task Manager. Dari sana, pergi ke File> Tugas Baru (Jalankan ...)> Tipe explorer.exe> ​​OK untuk memulai kembali proses.

Ini bisa dihindari dengan perubahan sederhana. Buka Windows Explorer> Atur> Folder dan opsi pencarian di Vista / 7. Untuk Windows 8 dan yang lebih baru, buka File Explorer> Lihat> Pilihan> Ubah folder dan opsi pencarian. Pilih menu Lihat tab dan cek Buka jendela folder dalam proses terpisah.

pilihan folder

Mengubah pengaturan ini mengisolasi proses desktop Anda dari semua jendela Windows Explorer lain yang telah Anda buka. Jika salah satu dari windows Explorer macet, desktop Anda akan tetap tidak terluka.

Microsoft Visual C ++ Runtime Library (CRT)

Microsoft Visual C ++ Runtime Library menyediakan rutin untuk pemrograman Windows yang mengotomatisasi banyak tugas, seperti input / output, manipulasi file, alokasi memori, panggilan sistem, dan banyak lainnya.

Setiap instalasi Windows akan menginstal setidaknya dua versi CRT yang berbeda. Vista SP2 yang baru dibangun melalui mesin Windows 10 akan memiliki versi 8.0 dan 9.0 (VC 2005 dan VC 2008, masing-masing). Ketika perangkat lunak tambahan diinstal, itu juga dapat mencakup versi yang lebih baru dari runtime, tergantung pada versi Visual C ++ yang digunakan untuk membuat program atau komponennya.

Kesalahan Runtime

Ketika kesalahan atau pengecualian ditemukan dalam sepotong kode, idealnya akan ditangani segera mungkin dalam prosedur yang sedang dijalankan, dan dapat dikoreksi atau memungkinkan anggun kegagalan. Jika kesalahan tidak ditangani secara lokal, maka akan diteruskan ke kode yang disebut kode yang saat ini mengeksekusi, dan proses berlanjut sampai pengecualian ditangani. Jika ia menyelesaikan prosesnya ke atas rantai dan masih belum ditangani, itu akan menghasilkan kesalahan runtime seperti yang terlihat di atas.

Ketika pengguna mengklik tombol OK, proses akan dihentikan. Jika program memiliki perilaku kegagalan yang ditentukan, seperti layanan kritis, atau status operasinya dipantau oleh proses lain, program itu mungkin secara otomatis direspawn. Inilah yang terjadi dalam contoh ini. Layar mati ketika proses explorer.exe dihentikan, maka desktop kembali ketika proses explorer.exe restart.

Meskipun pesan kesalahan di atas dengan jelas menunjukkan itu berasal dari proses explorer.exe, itu tidak mungkin menjadi masalah dengan explorer.exe itu sendiri. Kemungkinan besar pelakunya terletak di tempat lain, seperti ekstensi pihak ketiga yang sedang digunakan oleh Explorer.

Pertimbangan Lainnya

Dengan uraian pembaca kami tentang masalah di atas, ada beberapa item tambahan yang perlu kami perhitungkan:

  • Pada saat crash, Explorer berusaha, tetapi tidak dapat, untuk mengisi tampilan daftar.
  • Ketidakmampuan untuk mengakses drive setelah desktop respawned, dapat mengindikasikan proses lain memilikinya atau lebih dari perangkat-perangkat itu terkunci, sehingga mencegah akses dari explorer.exe yang baru dibuat proses.
  • Lari sfc / scannow dan mendapatkan tagihan kesehatan yang bersih, menjatuhkan sumber daya yang dilindungi Windows ke bagian bawah daftar untuk dipertimbangkan. Penyebab lain jauh lebih mungkin.

Perbaikan Ada Di

Dalam kasus khusus ini, ada tiga bidang di mana saya akan mencari solusi. Yang pertama melibatkan layanan Pencarian Windows, yang kedua melibatkan penyelidikan ekstensi shell, dan yang terakhir adalah VC ++ yang dapat didistribusikan kembali sendiri.

Pencarian Windows

Karena tangkapan layar asli menunjukkan kerusakan yang terjadi ketika Explorer berusaha mengisi Listview, ada kemungkinan bahwa layanan Pencarian Windows memblokir akses ke sumber daya yang diperlukan. Saya telah melihat ini terjadi ketika layanan macet dan tidak memiliki parameter restart yang benar.

tekan Menangkan + R> Tipe services.msc> OK untuk memulai konsol manajemen dengan modul layanan. Gulir ke bawah ke Windows Search dan klik dua kali pada entri untuk membuka dialog Properties. Pastikan pengaturan pada tab Pemulihan cocok dengan gambar di bawah ini.

windows-search-properties

Masalah yang paling umum adalah pengaturan "Restart service after:". Kesalahan ini sering terjadi ketika pengaturan ini bukan nol.

Ekstensi Shell yang Bermasalah

Unduh ShellExView dari Nirsoft untuk arsitektur sistem Anda (x86 atau x64), instal dan jalankan. Butuh sedikit waktu untuk memeriksa sistem dan mengisi tabel dengan data. Gulir ke kolom CLSID Modified Time dan klik pada header untuk mengurutkan pada bidang ini. Jika Anda ingin mengecualikan modul yang disediakan oleh Microsoft, Anda dapat mengunjungi Pilihan> Sembunyikan Semua Ekstensi Microsoft. Bagi mereka yang menggunakan versi 64-bit Windows, Anda mungkin juga ingin menampilkan ekstensi 32-bit pada sistem dengan masuk ke Pilihan> Tampilkan Ekstensi Shell 32-bit.

Cari ekstensi yang ditambahkan tepat sebelum gejala dimulai. Pilih satu atau lebih dan tekan F7 atau pergi ke File> Nonaktifkan Item yang Dipilih, atau klik ikon LED merah di bilah alat. Idealnya, ini harus dilakukan satu per satu.

Tes untuk melihat apakah gejalanya menetap. Jika ya, Anda dapat mengaktifkan kembali ekstensi yang sebelumnya dinonaktifkan dengan menggunakan F8, File> Aktifkan Item yang Dipilih, atau ikon bilah alat LED hijau. Dari sini, nonaktifkan ekstensi yang berbeda dan ulangi proses pengujian hingga Anda menemukan yang menyebabkan masalah.

Perbaikan / Instal Ulang VC ++ Redistributables

Saya menggunakan yang ini sebagai pilihan terakhir, jika hanya satu program yang menghilangkan kesalahan. Jika Anda memiliki beberapa program yang mengalami masalah dengan kesalahan runtime VC ++, Anda mungkin ingin mencoba ini terlebih dahulu.

Saat melihat program yang diinstal pada sistem saya (Panel Kontrol> Program dan Fitur), ini menunjukkan setiap versi paket yang dapat didistribusikan (dan beberapa pembaruannya) mulai dari versi 8 hingga versi 12 (VC ++ 2005 hingga VC ++ 2013). Saya telah menginstalnya karena alat pemrograman Microsoft yang saya gunakan. Sebagian besar pengguna tidak akan memiliki semua ini.

diinstal-vcpp-redist

Anda dapat menemukan unduhan terbaru untuk versi Visual C ++ yang didukung dari Microsoft. Untuk tujuan kami di sini, Anda hanya perlu peduli dengan paket yang berlabel "dapat didistribusikan". Tautan yang diklasifikasikan sebagai paket layanan adalah untuk alat pemrograman, bukan hanya runtime. Anda hanya akan membutuhkan yang saat ini terdaftar dalam program yang diinstal pada sistem Anda. Menginstal versi lain tidak akan membantu dalam kasus ini. Pengguna sistem operasi 64-bit mungkin membutuhkan versi x86 dan x64 CRT.

Pembaruan Windows memeriksa untuk melihat apakah komputer Anda memiliki pembaruan terbaru untuk paket-paket ini diinstal, tetapi tidak memeriksa untuk memastikan bahwa itu diinstal dengan benar dan belum rusak. Pemasang dapat memeriksa untuk memastikan bahwa semua file runtime adalah yang benar dan semua entri registri sudah benar.

Setelah Anda mengunduh penginstal yang sesuai, jalankan di sistem. Versi 2005 akan meminta Anda untuk menerima perjanjian lisensi sebelum menginstal ulang paket. Semua yang lain memiliki GUI yang akan menanyakan apakah Anda ingin memperbaiki atau menghapus instalasi yang ada. Dalam kebanyakan kasus, operasi perbaikan akan memperbaiki masalah apa pun.

Jika Anda ingin mencoba metode yang paling ekstrem, Anda dapat menghapus runtimes, reboot mesin, lalu instal ulang. Saya tidak merekomendasikan metode ini dengan runtimes 2005 dan 2008. Tanpa mereka, Windows akan menghasilkan banyak kesalahan dan banyak fungsi tidak akan ada untuk Anda ketika Anda reboot.

Kesimpulan

Dengan sedikit pengamatan, sentuhan trial and error, dan beberapa pemahaman tentang bagaimana kesalahan dihasilkan runtime pada sistem, masalah perangkat lunak dapat ditemukan dan diselesaikan tanpa menggunakan alat debugging yang rumit dan log.

Sudahkah Anda mengalami kesalahan runtime pada sistem Anda? Apa yang dibutuhkan untuk menyelesaikannya? Beritahu saya di komentar di bawah.

Bruce telah bermain dengan elektronik sejak tahun 70-an, komputer sejak awal tahun 80-an, dan secara akurat menjawab pertanyaan tentang teknologi yang belum pernah digunakan atau dilihatnya sepanjang waktu. Dia juga mengganggu dirinya dengan mencoba bermain gitar.