تاریخ امروز :
iOS
macOS
Xcode
iTunes
نمایش نتایج: از 1 به 1 از 1

موضوع: چگونه kernel panic ها را بخوانیم , بفهمیم , و حل کنیم

  1. #1
    تاریخ عضویت
    Mar 2011
    محل سکونت
    شمال
    نوشته ها
    319
    سپاس
    85
    از این کاربر 428 بار در 169 ارسال سپاس شده است.

    پیش فرض چگونه kernel panic ها را بخوانیم , بفهمیم , و حل کنیم

    چگونه kernel panic ها را بخوانیم , بفهمیم , و حل کنیم


    کرنل پنیک یک عکس العمل توسط سیستم عامل پس از تشخیص خطا داخلی است که به هیچ عنوان امکان بازیابی و حل آن توسط سیستم عامل وجود نداشته باشد. شما ممکن است در هنگام نصب یا بوت هکینتاش با کرنل پنیک مواجه شوید.

    کرنل پنیک به دلایل مختلفی رخ می دهند که برخی از آنها عبارتند از معیوب یا ناسازگار بودن رم سیستم ، ناسازگاری یا معیوب بودن kextهای سیستم عامل ، درایورهای خراب یا ناسازگار ، مشکل هارد دیسک مانند سکتور بد ، خرابی دایرکتوری ، و سایر مشکلات هارد دیسک .

    از معمول ترین دلایل کرنل پنیک ناسازگاری یک سخت افزار با سیستم عامل است که حتی با نصب ککست سازگار با آن قطعه هم سیستم عامل دچار پنیک می شود. البته تمام پنیک ها مربوط به ککست و یا سخت افزار نیست بلکه ممکن است به دلیل وجود باگ هایی در سیستم عامل کرنل پنیک رخ دهد . در اینجا من انواع کرنل پنیک هایی که در یک سیستم مک رخ میدهد را بررسی می کنم.

    با خواندن این آموزش شما قادر خواهید بود کرنل پنیک ها را خوانده , و بفهمید مشکل سیستم از کدام قسمت می باشد.

    کرنل پنیک نوع (۱)

    کد:
    Unresolved kernel trap(cpu 0): 0×300 – Data access DAR=0x0000000030D6334E PC=0x0000000027B5CD3C
    Latest crash info for cpu 0:
    Exception state (sv=0x27CA4500)
    PC=0x27B5CD3C; MSR=0×00009030; DAR=0x30D6334E; DSISR=0×40000000; LR=0x27B5CD24; R1=0x0D80BAE0; XCP=0x0000000C (0×300 – Data access)
    Backtrace:
    0x27B5E6C4 0x27B5D82C 0x27B5607C 0x27B45C74 0x002E9A80 0x002EB94C
    0x0008C248 0×00029234 0x000233F8 0x000ABEAC 0x8001016C
    Kernel loadable modules in backtrace (with dependencies):
    com.apple.GeForce(4.1.8)@0x27b3a000
    dependency: com.apple.iokit.IOPCIFamily(1.7)@0x1d8f7000
    dependency: com.apple.iokit.IOGraphicsFamily(1.4.2)@0×27867000
    dependency: com.apple.iokit.IONDRVSupport(1.4.2)@0x2788b000
    dependency: com.apple.NVDAResman(4.1.8)@0x278a1000
    Proceeding back via exception chain:
    Exception state (sv=0x27CA4500)
    previously dumped as “Latest” state. skipping…
    Exception state (sv=0x1D92D280)
    PC=0x9000B348; MSR=0x0200F030; DAR=0x02A8A000; DSISR=0×42000000; LR=0x9000B29C; R1=0xBFFFE900; XCP=0×00000030 (0xC00 – System call)
    Kernel version:
    Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC
    panic(cpu 0 caller 0xFFFF0003): 0×300 – Data access
    Latest stack backtrace for cpu 0:
    Backtrace:
    0x000954F8 0x00095A10 0×00026898 0x000A8204 0x000ABB80
    Proceeding back via exception chain:
    Exception state (sv=0x27CA4500)
    PC=0x27B5CD3C; MSR=0×00009030; DAR=0x30D6334E; DSISR=0×40000000; LR=0x27B5CD24; R1=0x0D80BAE0; XCP=0x0000000C (0×300 – Data access)
    Backtrace:
    0x27B5E6C4 0x27B5D82C 0x27B5607C 0x27B45C74 0x002E9A80 0x002EB94C
    0x0008C248 0×00029234 0x000233F8 0x000ABEAC 0x8001016C
    Kernel loadable modules in backtrace (with dependencies):
    com.apple.GeForce(4.1.8)@0x27b3a000
    dependency: com.apple.iokit.IOPCIFamily(1.7)@0x1d8f7000
    dependency: com.apple.iokit.IOGraphicsFamily(1.4.2)@0×27867000
    dependency: com.apple.iokit.IONDRVSupport(1.4.2)@0x2788b000
    dependency: com.apple.NVDAResman(4.1.8)@0x278a1000
    Exception state (sv=0x1D92D280)
    PC=0x9000B348; MSR=0x0200F030; DAR=0x02A8A000; DSISR=0×42000000; LR=0x9000B29C; R1=0xBFFFE900; XCP=0×00000030 (0xC00 – System call



    شما باید بفهمید که چه چیزی باعث متوقف شدن سیستم عامل شده است.در اینجا شما باید تمام نوشته های موجود در صفحه را مورد کاوش قرار دهید.به طور مثال با توجه به کرنل پنیک بالا :

    در بخش اول مشخصات CPU را نشان میدهد(رنگ سبز). (CPU(0 نشان دهنده آن است که CPU شماره 0 با کرنل پنیک مواجه شده است. و در ادامه آدرس زمان پنیک سیستم بصورت عدد hex نمایش داده می شود.

    بخش بعد Backtrace نام دارد(رنگ آبی) که محل آدرس حافظه را که پنیک در آنجا رخ داده است بصورت یک عدد hex نمایش می دهد.

    همچنین در ادامه Backtrace اطلاعاتی در مورد پنیک نمایش داده می شود اما در این قسمت ککستی که سبب پنیک سیستم شده است با نام نشان داده می شود (رنگ قرمز) .این بخش مهمترین بخش در فهمیدن نوع پنیک و دلیل آن است.

    بخش آخر هم exception chain نام دارد (رنگ قهوه ای) که حاوی اطلاعاتی در مورد پنیک است که کمک خاصی به ما نمی کند.


    همانطور که فهمیدید کرنل بر روی کسست های زیر پنیک داده است. که مربوط به بخش گرافیک سیستم هستند.

    کد:
    GeForce
    IOPCIFamily
    IOGraphicsFamily

    IONDRVSupport


    کرنل پنیک نوع (۲)

    کد:
    panic(cpu 0 caller 0x001A429B): Unresolved kernel trap (CPU 0, Type 14=page fault), registers:
    CR0: 0x8001003b, CR2: 0×00000024, CR3: 0x00d7b000, CR4: 0x000006e0
    EAX: 0×00000000, EBX: 0x02bacc00, ECX: 0x025dc9a4, EDX: 0×00000000
    CR2: 0×00000024, EBP: 0x14053ef8, ESI: 0×00841684, EDI: 0x0083df64
    EFL: 0×00010206, EIP: 0x003bd3b3, CS: 0×00000008, DS: 0×14050010
    Backtrace, Format – Frame : Return Address (4 potential args on stack) 
    0x14053d38 : 0x128d08 (0x3cb134 0x14053d5c 0x131de5 0×0) 
    0x14053d78 : 0x1a429b (0x3d0e4c 0×0 0xe 0x3d0670) 
    0x14053e88 : 0x19ada4 (0x14053e98 0x14053ea8 0xe 0×48) 
    0x14053ef8 : 0x83df81 (0x2bacc00 0×841684 0x14053f28 0x38073e) 
    0x14053f28 : 0x39c536 (0x2bacc00 0x28b9880 0×8 0×2) 
    0x14053f78 : 0x13d7d9 (0x28b9880 0×2686021 0×0 0xbffff378) 
    0x14053fc8 : 0x19ac1c (0×0 0×0 0×4 0×207) Backtrace terminated-invalid frame pointer 0×0
    Kernel loadable modules in backtrace (with dependencies):
    com.apple.driver.IOBluetoothHIDDriver(1.7.2b2)@0×8 37000
    dependency: com.apple.iokit.IOBluetoothFamily(1.7.14f14)@0x6be 000
    dependency: com.apple.iokit.IOHIDFamily(1.4.10)@0×531000


    در این نوع پنیک هم همانند بالا مشخصات CPU نمایش داده می شود.(رنگ سبز)

    بخش Backtrace(رنگ آبی)

    و در انتها بخش مربوط به ککستی که سبب پنیک شده است.(رنگ قرمز)

    حتم دارم که فهمیده اید به چه دلیل پنیک رخ داده است . بله مشکل از قسمت Bluetooth است وسیستم در هنگام بارگذاری ککست Bluetooth دچار مشکل شده است.


    کرنل پنیک نوع (۳)

    کد:
    Unresolved kernel trap(cpu 0): 0×300 – Data access DAR=0×0000000000000010 PC=0x00000000000819E8
    Latest crash info for cpu 0:
    Exception state (sv=0x3D849280)
    PC=0x000819E8; MSR=0×00009030; DAR=0×00000010; DSISR=0×40000000; LR=0x000819CC; R1=0x2720BB00; XCP=0x0000000C (0×300 – Data access)
    Backtrace:
    0x00032AC8 0x000823DC 0x00075F58 0×00075918 0x0006B45C 0x0006B730 
    0x000578A0 0x0002921C 0x000233F8 0x000ABAAC 0x414C5945 
    Proceeding back via exception chain:
    Exception state (sv=0x3D849280)
    previously dumped as “Latest” state. skipping…
    Exception state (sv=0x42AF9280)
    PC=0x9000AB48; MSR=0x0000F030; DAR=0x011DB004; DSISR=0×42000000; LR=0x9000AA9C; R1=0xF0101080; XCP=0×00000030 (0xC00 – System call)
    Kernel version:
    Darwin Kernel Version 8.8.0: Fri Sep 8 17:18:57 PDT 2006; root:xnu-792.12.6.obj~1/RELEASE_PPC
    panic(cpu 0 caller 0xFFFF0003): 0×300 – Data access
    Latest stack backtrace for cpu 0:
    Backtrace:
    0×00095138 0×00095650 0×00026898 0x000A7E04 0x000AB780 
    Proceeding back via exception chain:
    Exception state (sv=0x3D849280)
    PC=0x000819E8; MSR=0×00009030; DAR=0×00000010; DSISR=0×40000000; LR=0x000819CC; R1=0x2720BB00; XCP=0x0000000C (0×300 – Data access)
    Backtrace:
    0x00032AC8 0x000823DC 0x00075F58 0×00075918 0x0006B45C 0x0006B730 
    0x000578A0 0x0002921C 0x000233F8 0x000ABAAC 0x414C5945 
    Exception state (sv=0x42AF9280)
    PC=0x9000AB48; MSR=0x0000F030; DAR=0x011DB004; DSISR=0×42000000; LR=0x9000AA9C; R1=0xF0101080; XCP=0×00000030 (0xC00 – System call)

    همانطور که متوجه شده اید این کرنل پنیک با کرنل پنیک های بالا متفاوت است و قسمتی برای تشخیص نام ککست وجود ندارد.

    دلایل بروز این نوع کرنل پنیک عبارتند از:

    ۱-ایجاد مشکل در دسترسی به قسمتی از حافظه رم سیستم .در این صورت احتمالا برنامه ای در دسترسی به حافظه سیستم دچار مشکل شده است.

    ۲-وجود قطعه ناسازگار با سیستم عامل مانند( کارت شبکه , بلوتوث , wifi , .....)

    ۳-استفاده از دو ککست به صورت همزمان که یک کار را انجام می دهند.

    ۴-عدم وجود فضای کافی در پارتیشن ریشه.

    ۵-وجود Permission برای یک فایل مهم که باعث عدم دسترسی کرنل به آن می شود.

    ۶-عدم سازگاری کرنل با سیستم .


    پیروز و سربلند باشید.
    ویرایش توسط iHackintosh : 22-09-2011 در ساعت 08:29 PM

  2. 19 کاربر زیر از iHackintosh عزیز به خاطر این پست مفید سپاس کرده اند .


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
اطلاعات سایت
لینک دوستان
درباره سایت
انجمن تخصصی آيفون در سال ۲۰۰۷ با عرضه‌ی اولين نسل گجت‌های iOS اپل فعاليت خود را آغاز نمود. مفتخر هستيم که تا اين لحظه پيشتاز خدمت رسانی به کاربران ايرانی محصولات اپل باشيم.

اکنون ساعت 04:03 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.

Powered by vBulletin® Version 4.2.3
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.