SORU
29 EKİM 2013, Salı


'özel durum kodu anlamı ne s&; EXC_İ386_GPFLT" quot;?

Özel durum kodu anlamı EXC_I386_GPFLT nedir?

Anlamı duruma göre değişir mi?

Bu durumda, özel durum türü bahsediyorum EXC_I386_GPFLT özel durum kodu ile EXC_BAD_ACCESS

Program Güncellemelerinden geliştirilen 5.0.1, BLAS kütüphane cblas_zgemm() ile ilgili.(Önemli...) değil sanırım

Çok teşekkür ederim!

CEVAP
29 EKİM 2013, Salı


EXC_İ386_GPFLT kesinlikle tavsiye etmektir "Genel Koruma hatası 86 sana bunu söylemek için bir yolu olan", "yapmak için izin verilmez bir şey yaptın". Genellikle anlamına GELMEZ erişim RAM de yasak, ama olabilir kodunuzu gidiyor yasak ve neden kötü kod/veri kullanılacak şekilde yapar için bir koruma ihlali gibi bir şey.

Ne yazık ki bu zor olabilir anlamaya tam olarak ne sorun olmadan daha fazla içerik, 27 farklı neden listede benim AMD64 Programcı El Kitabı, Cilt 2, 2005 - söylentiye göre, muhtemelen 8 yıl sonra diye ekledi, biraz daha fazla.

Eğer bir 64-bit sistem, akla yatkın bir senaryo olduğunu kodunuzu kullanarak bir "kurallı olmayan işaretçi" - yani bir 64-bit adresi oluşturulmuş ve üst 16 bit adresi değil tüm kopyalarını üst alt 48 bit (başka bir deyişle, top 16 bitlik bir adres olması gerektiği her şey 0 ya da 1, Temel bit altında 16 bit). Bu kural yerde mimarisi güvence altına almak için "güvenli bir adres aralığında geçerli bit sayısını artırmak". Bu kod ya da başka şeyler ile bazı işaretçi veri üzerine yazma, ya da bir işaretçi değeri okurken tatil olduğunu gösterir.

Başka bir olası neden diğer word SSE bir kayıt ile erişim tarafsız -, 16-byte uyumlu değil bir adresten 16 bayt SSE bir kayıt okuma.

Orada, dediğim gibi, birçok diğer olası nedenler, ama çoğu olanlar dahil şeyler "normal" code olmazdı yaparken, 32 - veya 64-bit işletim sistemi (gibi yükleme parça kayıtlar geçersiz seçici dizin veya yazmaya MSR (modeli belirli kayıtları)).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BSA

    BSA

    9 NİSAN 2012
  • kimaliz

    kimaliz

    18 Temmuz 2006
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012