Używam Objective C na iOS od około miesiąca, ale mam dużo wcześniejszego doświadczenia w C++.Co oznacza parametr kodu w EXC_BAD_ACCESS?
Moje rozumienie EXC_BAD_ACCESS
polega na tym, że zasadniczo jest to Segmentation Fault, tj. Próba dostępu do pamięci poza dozwolonym regionem. Co ciekawe, widziałem także SIGSEGV
specjalnie w przypadku awarii aplikacji na iOS. Zauważam, że w ramach tego wyjątku jest parametr kodu (np. code=1
) i zastanawiam się, co ten konkretny kod oznacza.
Pobiegłem po Google i nie mogę znaleźć formalnej dokumentacji tego błędu, and apparently I'm not alone. Czy ktoś wie, co oznacza tutaj parametr kodu?
Bardzo doceniane. Myślę, że Apple miałby to również udokumentować w swoich dokumentach. –
Myślę, że jedynym rozsądnym miejscem do udokumentowania tego będzie dokumentacja jądra Macha. Dokumentacja zaczynająca się od strony [Keep Out] (https://developer.apple.com/library/mac/documentation/ Darwin/Conceptual/KernelProgramming/keepout/keepout.html # // apple_ref/doc/uid/TP30000905-CH205-BEHJDFCA) –
Sensowne jest powstrzymanie programistów od pisania kodu przestrzeni jądra, ale ma to związek z aplikacjami przestrzeni użytkownika współdziałającymi z przestrzeń jądra. Wydaje mi się, że właściwa interpretacja interfejsów API i zwrotów OS będzie dobrze udokumentowana. –