Cara Memperbaiki Kesalahan Runtime Windows Visual C ++

Cara Memperbaiki Kesalahan Runtime Windows Visual C ++

Perpustakaan bersama di Windows menjadikan pengaturcaraan jauh lebih efisien untuk pengaturcara yang tidak perlu mencipta semula roda setiap kali dia perlu melakukan tugas biasa. Mereka juga menjadikannya lebih mudah untuk memasang lubang keselamatan dalam kod bersama apabila ia dijumpai kerana perlu ditambal di lebih sedikit tempat dan tidak memerlukan setiap aplikasi dikompilasi ulang.





Walaupun dari aspek positif ini, mereka dapat menimbulkan masalah mereka sendiri ketika berusaha menyelesaikan masalah punca mesej ralat yang mungkin mereka hasilkan.





Soalan Pembaca Kami:

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





Setelah mengklik butang OK dalam dialog yang ditunjukkan pada tangkapan skrin, skrin akan menjadi gelap dan kembali berjalan normal, tetapi tidak akan membenarkan saya mengakses C, D, dan, kadang-kadang, pemacu E ketika cuba mengaksesnya dari Komputer Saya.

Berlari sfc / scannow tidak menemui sebarang kesalahan. Saya memuat turun kemas kini dari laman web Dell dan Microsoft yang cuba menyelesaikan masalah ini. Saya juga telah memasang Microsoft Visual C ++ 2010 Redistributable Package (x86). PC benar-benar terkini menurut Windows Update.



Balas Bruce:

Catatan: Perbincangan mengenai Windows Explorer pada Windows 7 dan versi sebelumnya juga berlaku untuk File Explorer pada Windows 8 dan versi yang lebih baru. Sekiranya terdapat perbezaan yang ketara di antara mereka, maka akan dinyatakan secara eksplisit.

Shell Windows

Penjelajah Windows adalah shell dan berjalan sebagai proses explorer.exe seperti yang dilihat dalam Task Manager atau Sysinternals 'Process Explorer. Seperti banyak program Windows yang lain, semua fungsi yang disediakan oleh shell tidak digabungkan ke dalam satu fail yang boleh dilaksanakan. Terdapat puluhan fail EXE dan DLL lain yang digunakan untuk melaksanakan lembaran harta tanah, pengendali harta tanah, pengendali pratonton, menu konteks, dan banyak elemen lain yang anda gunakan dalam Windows Explorer setiap hari.





Shell yang boleh diperluas

Sambungan shell membolehkan pengaturcara menambahkan fungsi ke Windows Explorer dengan mudah dengan menulis DLL untuk menjalankan tugas dan mendaftarkan DLL dengan sistem operasi, sehingga Penjelajah tahu di mana mencari kod untuk menyelesaikan tugas tersebut. Sebagai contoh, 7-Zip menambahkan sub-menu ke menu konteks standard, memberikan akses cepat ke tugas-tugas pengendalian arkib, Hard Disk Sentinel menambahkan lapisan ikon pada ikon pemacu standard, sehingga anda dapat melihat status kesihatan pemacu sekilas, dan HashTab menambah lembaran harta baru, untuk mengira dan memaparkan hash fail yang dipilih.

Sebilangan besar peluasan shell ini dilaksanakan sebagai pelayan Model Objek Objek dalam proses (COM). Ini bermaksud bahawa apabila proses, dalam hal ini Windows Explorer, menggunakan ekstensi, proses tersebut tidak akan muncul di Task Manager atau Process Explorer sebagai proses berjalan yang terpisah dengan pengenal prosesnya sendiri (PID). Sebaliknya, ia dijalankan dalam proses memanggil explorer.exe.





Proses Sekali-Sekali Lalai

Windows Explorer ditulis agar dapat berjalan sebagai dua proses yang berasingan, tetapi - dalam konfigurasi lalai - ia hanya akan menjalankan satu contoh. Ketika pertama kali dijalankan sebagai bagian dari proses permulaan, ia mewujudkan persekitaran desktop Windows. Melaksanakannya sekali lagi membuat utas baru dalam proses yang ada, yang menampilkan tetingkap pengurusan fail yang sudah biasa, dan bukannya memulakan proses baru.

Tingkah laku ini memungkinkan pengurangan jejak memori, tetapi juga dapat membawa sedikit kelainan ketika menyelesaikan masalah. Kesalahan kritikal atau pengecualian yang tidak dapat dikendalikan dalam kod yang dijalankan dalam proses explorer.exe, termasuk pelayan dalam proses yang disediakan oleh DLL, akan menyebabkan seluruh persekitaran desktop tidak berfungsi dengannya.

Dalam kebanyakan kes, proses desktop akan dimulakan semula secara automatik. Sekiranya tidak dimulakan semula, anda masih boleh menggunakan Ctrl-Shift-Esc untuk memunculkan Task Manager. Dari sana, pergi ke Fail> Tugas Baru (Jalankan…)> menaip explorer.exe> ​​OK untuk memulakan semula proses.

Ini dapat dielakkan dengan perubahan yang sederhana. Buka Penjelajah Windows> Susun> Pilihan folder dan carian di Vista / 7. Untuk Windows 8 dan yang lebih baru, buka Penjelajah Fail> Tampilan> Pilihan> Tukar folder dan pilihan carian . Pilih Lihat tab dan periksa Lancarkan tetingkap folder dalam proses yang berasingan .

bagaimana membetulkan skrin biru windows 10

Mengubah tetapan ini mengasingkan proses desktop anda dari semua tetingkap Windows Explorer lain yang telah anda buka. Sekiranya salah satu daripada windows Explorer rosak, desktop anda akan tetap tidak cedera.

Perpustakaan Masa Jalan Microsoft Visual C ++ (CRT)

Perpustakaan Runtime Microsoft Visual C ++ menyediakan rutin untuk memprogram Windows yang mengotomatisasi banyak tugas, seperti input / output, manipulasi file, peruntukan memori, panggilan sistem, dan banyak lagi.

Setiap pemasangan Windows akan mempunyai sekurang-kurangnya dua versi CRT yang berbeza. Vista SP2 yang baru dibina melalui mesin Windows 10 akan mempunyai versi 8.0 dan 9.0 (masing-masing VC 2005 dan VC 2008). Apabila perisian tambahan dipasang, mungkin juga menyertakan versi masa berjalan yang lebih baru, bergantung pada versi Visual C ++ yang digunakan untuk membuat program atau komponennya.

Kesalahan Masa Jalan

Apabila terdapat kesilapan atau pengecualian dalam sekeping kod, idealnya ia akan ditangani secepat mungkin dalam prosedur yang sedang dijalankan, dan boleh diperbaiki atau memungkinkan untuk kegagalan yang baik. Sekiranya kesalahan tidak ditangani secara tempatan, kesalahan akan diteruskan ke kod yang memanggil kod yang sedang dijalankan, dan prosesnya berlanjutan sehingga pengecualian ditangani. Sekiranya melengkapkan lariannya ke bahagian atas rantai dan masih tidak dikendalikan, ia akan menghasilkan ralat runtime seperti yang dilihat di atas.

Apabila pengguna mengklik butang OK, prosesnya akan dihentikan. Sekiranya program ini mempunyai tingkah laku kegagalan yang ditentukan, seperti perkhidmatan kritikal, atau keadaan jalannya dipantau oleh proses lain, program itu akan dimunculkan semula secara automatik. Inilah yang berlaku dalam kejadian ini. Skrin menjadi gelap ketika proses explorer.exe dihentikan, kemudian desktop kembali apabila proses explorer.exe dimulakan semula.

Walaupun mesej ralat di atas menunjukkan dengan jelas bahawa ia datang dari proses explorer.exe, ia tidak mungkin menjadi masalah dengan explorer.exe itu sendiri. Kemungkinan besar pelakunya terletak di tempat lain, seperti pelanjutan pihak ketiga yang digunakan oleh Explorer.

Pertimbangan Lain

Dengan keterangan pembaca mengenai masalah di atas, terdapat beberapa item tambahan yang perlu kita ambil kira:

  • Pada masa berlakunya kemalangan, Explorer sedang berusaha, tetapi tidak dapat, mengisi senarai pandangan.
  • Ketidakupayaan untuk mengakses pemacu setelah desktop dimunculkan semula, mungkin menunjukkan proses lain mempunyai satu atau lebih peranti tersebut terkunci, sehingga menghalang akses dari proses explorer.exe yang baru dibuat.
  • Berlari sfc / scannow dan mendapatkan bil kesihatan yang baik, menjatuhkan sumber yang dilindungi Windows ke bahagian bawah senarai untuk dipertimbangkan. Sebab-sebab lain jauh lebih mungkin.

Pembetulan Sudah Ada

Dalam kes ini, ada tiga bidang di mana saya akan mencari jalan keluar. Yang pertama melibatkan perkhidmatan Pencarian Windows, yang kedua melibatkan penyiasatan pelanjutan shell, dan yang terakhir adalah VC ++ yang dapat diedarkan semula.

Kerana tangkapan skrin asal menunjukkan kemalangan berlaku ketika Penjelajah berusaha mengisi senarai pandangan, ada kemungkinan bahawa perkhidmatan Carian Windows menyekat akses ke sumber yang diperlukan. Saya telah melihat ini berlaku semasa perkhidmatan mogok dan tidak mempunyai parameter restart yang betul.

Tekan Menang + R> menaip services.msc> OK untuk memulakan konsol pengurusan dengan modul perkhidmatan. Tatal ke Cari Windows dan klik dua kali pada entri untuk membuka dialog Properties. Pastikan tetapan pada tab Pemulihan sesuai dengan gambar di bawah.

Masalah yang paling biasa adalah tetapan 'Mulakan semula perkhidmatan selepas:'. Kesalahan ini sering berlaku apabila tetapan ini tidak sifar.

Sambungan Shell Bermasalah

Muat turun ShellExView Nirsoft untuk seni bina sistem anda (x86 atau x64), pasang dan jalankan. Akan memerlukan sedikit masa untuk memeriksa sistem dan mengisi jadual dengan data. Tatal ke lajur CLSID Modified Time dan klik pada tajuk untuk menyusun medan ini. Sekiranya anda ingin mengecualikan modul yang disediakan oleh Microsoft, anda boleh pergi ke Pilihan> Sembunyikan Semua Sambungan Microsoft . Bagi mereka yang menggunakan versi Windows 64-bit, anda mungkin juga ingin menunjukkan sambungan 32-bit pada sistem dengan pergi ke Pilihan> Tunjukkan Sambungan Shell 32-bit .

Cari sambungan yang ditambahkan sebelum gejala bermula. Pilih satu atau lebih dan tekan F7 atau pergi ke Fail> Lumpuhkan Item Terpilih , atau klik pada ikon LED merah di bar alat. Sebaik-baiknya, ini mesti dilakukan satu demi satu.

Uji untuk mengetahui sama ada gejala berterusan. Sekiranya berlaku, anda boleh mengaktifkan semula pelanjutan yang dilumpuhkan sebelumnya dengan menggunakan F8 , Fail> Dayakan Item Terpilih , atau ikon bar alat LED hijau. Dari sini, lumpuhkan peluasan yang berbeza dan ulangi proses ujian sehingga anda dapati yang menyebabkan masalah.

Membaiki / Pasang Semula VC ++ Redistributables

Saya menggunakan yang ini sebagai jalan terakhir, jika hanya satu program yang membuat kesilapan. Sekiranya anda mempunyai banyak program yang menghadapi masalah dengan kesalahan masa berjalan VC ++, anda mungkin ingin mencuba ini terlebih dahulu.

Semasa melihat program yang dipasang pada sistem saya ( Panel Kawalan> Program dan Ciri ), ia menunjukkan setiap versi pakej yang dapat diedarkan semula (dan beberapa kemas kini mereka) mulai dari versi 8 hingga versi 12 (VC ++ 2005 hingga VC ++ 2013). Saya memasangnya kerana alat pengaturcaraan Microsoft yang saya gunakan. Sebilangan besar pengguna tidak akan mempunyai semua ini.

Anda boleh mendapatkan muat turun terkini untuk versi Visual C ++ yang disokong dari Microsoft. Untuk tujuan kami di sini, anda hanya perlu mengambil berat tentang perkara yang dilabelkan sebagai pakej 'boleh diedarkan semula'. Pautan yang diklasifikasikan sebagai pek perkhidmatan adalah untuk alat pengaturcaraan, bukan hanya masa berjalan. Anda hanya memerlukan yang disenaraikan dalam program yang dipasang pada sistem anda. Memasang versi lain tidak akan membantu dalam kes ini. Pengguna sistem operasi 64-bit mungkin memerlukan CRT versi x86 dan x64.

Kemas kini Windows memeriksa untuk melihat apakah komputer anda mempunyai kemas kini terbaru untuk pakej-pakej ini yang dipasang, tetapi ia tidak memeriksa untuk memastikan bahawa ia dipasang dengan betul dan belum rosak. Pemasang boleh memeriksa untuk memastikan bahawa semua fail runtime adalah yang betul dan semua entri pendaftaran betul.

Setelah memuat turun pemasang yang sesuai, jalankan pada sistem. Versi 2005 akan meminta anda untuk menerima perjanjian lesen sebelum memasang semula pakej. Semua yang lain mempunyai GUI yang akan bertanya kepada anda jika anda ingin memperbaiki atau menyahpasang pemasangan yang ada. Dalam kebanyakan kes, operasi pembaikan akan menyelesaikan masalah.

Sekiranya anda ingin mencuba kaedah yang paling ekstrem, anda boleh menyahpasang masa berjalan, but semula mesin, kemudian pasang semula. Saya tidak mengesyorkan kaedah ini dengan jangka masa 2005 dan 2008. Tanpa mereka, Windows akan menghasilkan banyak ralat dan banyak fungsi tidak akan ada untuk anda semasa anda menghidupkan semula.

Kesimpulannya

Dengan sedikit pemerhatian, sentuhan percubaan dan ralat, dan beberapa pemahaman tentang bagaimana ralat dihasilkan dari masa berjalan pada sistem, masalah perisian dapat dijumpai dan diselesaikan tanpa menggunakan alat dan log penyahpepijatan yang rumit.

Adakah anda mengalami ralat runtime pada sistem anda? Apa yang diperlukan untuk menyelesaikannya? Beritahu saya dalam komen di bawah.

Berkongsi Berkongsi Tweet E-mel Inilah Sebabnya FBI Mengeluarkan Amaran untuk Hive Ransomware

FBI mengeluarkan amaran mengenai jenis ransomware yang sangat jahat. Inilah sebabnya mengapa anda perlu berhati-hati terhadap Hive ransomware.

Baca Seterusnya
Topik-topik yang berkaitan
  • Tingkap
  • Teknologi Dijelaskan
  • Tanya Pakar
  • Penjelajah Windows
  • Tingkap
  • Penjelajah Fail
  • Carian Windows
  • Penyelesaian masalah
Mengenai Pengarang Bruce Epper(13 Artikel Diterbitkan)

Bruce telah bermain dengan elektronik sejak tahun 70-an, komputer sejak awal 80-an, dan dengan tepat menjawab soalan mengenai teknologi yang tidak pernah dia gunakan dan tidak lihat sepanjang masa. Dia juga menjengkelkan dirinya dengan cuba bermain gitar.

Lebih Banyak Dari Bruce Epper

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan