2012-01-11 10 views
8

Więc szukam kodu źródłowego, aby zawiesić jądro Mac. Znalazłem crashme dla linux debain, ale to nie działa dla jądra Mac. Więc zastanawiałem się, czy ktoś wie, gdzie mogę znaleźć narzędzie wiersza polecenia lub jakiś kod źródłowy, aby wywołać paniki jądra systemu Mac? Byłaby to ogromna pomoc, dzięki.Wywołaj Pan Kernel Panic?

+0

Jeśli jest to możliwe, aby celowo wywołać panikę jądra, to wskazuje na błąd w jądrze . Nie * powinno być możliwe * wyzwolenie paniki jądra z przestrzeni użytkownika. –

+0

Zrobiłem to siłą rzucając aplikację z serwerem apache, serwerem mysql, serwerem logów World of Warcraft i World of Warcraft World Server w jednym, zdarza się cały czas. –

+2

Albo natknąłeś się na błąd jądra, albo masz uszkodzony system. Panikę Kernela zdarzają się bardzo rzadko z dobrego powodu. –

Odpowiedz

12

Apple ma numer tech note, jak to zrobić. Najkrótszą drogą do zrobienia jest to polecenie, sudo dtrace -w -n "BEGIN{ panic();}", uruchamiane z terminala.

+0

Nie mogę znaleźć, gdzie jest napisane właściwe methiod ...? –

+0

@TrevorRudolph: Sekcje, które dotyczą konkretnie wywoływania paniki jądra to "Wywoływanie paniki jądra za pomocą DTrace" i "Wywoływanie paniki jądra za pomocą rozszerzenia jądra Instant Panic". – Chuck

+0

Zastanawiam się, czy istnieje również sposób wyzwalania procedury przerwań, aby móc wysłać "kontynuuj" ze zdalnego debuggera (podobne do 'asm (" int3 ")' z dowolnego rozszerzenia jądra) –

2

Niedawno zaktualizowałem crashme do pracy na Mac OS X Lion. Będziesz musiał pobrać kod źródłowy z http://crashme.codeplex.com/ i skompilować go za pomocą narzędzi wiersza poleceń Xcode. Więcej szczegółów znajduje się w odpowiedzi na pytanie 5085136. Ale zauważ, że crashme nie znalazł jeszcze natychmiastowej paniki jądra na Macu. Jednak po uruchomieniu crashme na macierzystym MacBook Pro i uruchomieniu go w VirtualBox VM na tej samej maszynie, jeden w x86 PC-BSD, a drugi w x64 Centos, moje Lion Kernel stał się na tyle nieszczęśliwy, że rzucił kilka razy panikę jądra kilka minut później, gdy edytowałem plik za pomocą natywnego Emacsa. Crashme może natknąć się na błąd jądra.

0

Wejdź na terminal i wpisz "killall kernel_task", co powinno zmusić komputer do paniki bez pobierania jakiegokolwiek oprogramowania. Wystarczy upewnić się, że wszystko zapisane zanim spróbujesz: D

0

chociaż wymaga to hasło to działa za każdym razem sudo halt