Rumah > pembangunan bahagian belakang > C++ > Kenapa tidak VS2010 menunjukkan mesej pengecualian yang tidak ditandakan dalam aplikasi WinForms 64-bit?

Kenapa tidak VS2010 menunjukkan mesej pengecualian yang tidak ditandakan dalam aplikasi WinForms 64-bit?

Susan Sarandon
Lepaskan: 2025-02-01 22:01:09
asal
540 orang telah melayarinya

aplikasi WinForms VS2010 64 -bit tidak dipaparkan mesej abnormal yang tidak diproses: Masalah

Apabila menggunakan C#dan .NET Framework 4 Untuk membuat aplikasi Windows Forms baru dalam VS2010, pengguna menghadapi tingkah laku yang luar biasa mengenai keabnormalan yang tidak diproses. Selepas menambahkan kod tertentu ke program pemprosesan Form1_Load, diharapkan mesej tidak biasa yang tidak dapat dipraktikkan dalam baris tertentu tidak dipaparkan. Sebaliknya, pelaksanaan kod tidak mempunyai ralat, dan aplikasi terus dijalankan.

Tingkah laku khas ini dikaitkan dengan kaedah berinteraksi dengan 64 -bit Windows 7 melalui lapisan analog WOW64. Masalahnya ialah lapisan ini memintas kelainan kod yang dihasilkan oleh pemberitahuan yang dihasilkan oleh pengurus tetingkap 64 -bit. Akibatnya, debugger tidak dapat mengenal pasti dan memasukkan pengecualian.

Untuk menyelesaikan masalah ini, beberapa penyelesaian dicadangkan:

Tetapkan sasaran platform sebagai anycpu dan membatalkan "lebih suka 32 -bit" yang dipilih "

Kaedah ini telah mengubah aplikasi ke proses 64 -bit, menghapuskan lapisan simulasi WOW64 dan masalah yang tidak normal yang berkaitan. Walau bagaimanapun, ia boleh menjejaskan fungsi "penyuntingan dan teruskan", dan ia mungkin tidak boleh bergantung pada kod 32 -bit.

Penyelesaian Lain

Dalam "Debug" & gt;
  • Blok Cuba/Tangkap dengan Pemprosesan Fairfast dalam Program Pemprosesan Acara Beban.
  • set
  • di utama () untuk melumpuhkan penangkapan abnormal dalam mod debug.
  • Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException) re -sama ada keperluan kod dalam program pemprosesan acara beban, dan pertimbangkan menggunakan program pemprosesan acara alternatif atau pembina untuk meletakkan kod yang sesuai.
  • Menaik taraf ke Windows 8 atau lebih tinggi, di mana masalah WOW64 telah diselesaikan.

Atas ialah kandungan terperinci Kenapa tidak VS2010 menunjukkan mesej pengecualian yang tidak ditandakan dalam aplikasi WinForms 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan