ตัวตรวจสอบเว็บไซต์ขัดข้องใน Safari 7


3

ในเว็บไซต์ภายในโดยเฉพาะเมื่อใดก็ตามที่ฉันเปิด Web Inspector ใน Safari 7 มันจะแฮงค์ทันทีจากนั้นแท็บทั้งหมดจึงขัดข้อง เมื่อฉันปิดแท็บที่ขัดข้องฉันจะได้รับข้อความนี้ในคอนโซล:

1/22/14 10:54:27.896 AM com.apple.launchd[1]: (com.apple.WebKit.WebContent.D50214F7-A6C9-46E5-8F06-71C873A2D4B8[96246]) Exited with code: 1

น่าเสียดายที่ฉันไม่สามารถแชร์ลิงก์หรือรหัสสำหรับไซต์ได้เนื่องจากเป็นภายใน แต่นี่เป็นรายละเอียดเพิ่มเติม:

  • สิ่งนี้เกิดขึ้นกับสามเครื่องที่ใช้ Safari 7 บน OS X Mavericks
  • มันยังคงอยู่แม้ว่าฉันจะออกและเปิด Safari 7 อีกครั้ง
  • จะไม่เกิดขึ้นเมื่อฉันใช้เครื่องมือตรวจสอบในเบราว์เซอร์อื่น ๆ รวมถึง Safari 6 (บน OS X Lion)
  • จะไม่เกิดขึ้นเมื่อฉันใช้ตัวตรวจสอบเว็บของ Safari 7 กับเว็บไซต์อื่น
  • หากฉันตรวจสอบไซต์ในเบราว์เซอร์อื่น (เช่น Firefox) จะไม่มีการรายงานข้อผิดพลาด

ฉันพบคำถามที่ฟังดูเหมือนอธิบายปัญหาเดียวกัน แต่ไม่มีรายละเอียดอื่น ๆ และวิธีแก้ไขปัญหาไม่ได้สำหรับฉันดังนั้นทำไมฉันโพสต์คำถามนี้เป็นคำถามใหม่


อัปเดต: ชิ้นส่วนที่เป็นไปได้อีกอย่างของจิ๊กซอว์ - ตัวตรวจสอบเว็บขัดข้องเมื่อฉันดูเว็บไซต์จากเซิร์ฟเวอร์ไม่ใช่ในเครื่อง

ตอนแรกฉันคิดว่าเป็นเพราะฉันอ้างถึง Pingdom และ Google Analytics ด้วย URL ที่ไม่เชื่อเรื่องโปรโตคอล (ซึ่งไม่ได้แก้ไขในเครื่องดังนั้นจึงไม่โหลด) เช่น:

//www.google-analytics.com...

นั่นทำให้ฉันคิดว่ามีบางอย่างในสคริปต์ตัวใดตัวหนึ่งที่ทำให้เกิดข้อขัดข้องซึ่งจะอธิบายว่าทำไมมันเกิดขึ้นเฉพาะในหน้าโฮสต์ (ที่เส้นทางแก้ไข) แต่ไม่มีลูกเต๋า: แม้ว่าฉันจะนำหน้า URL เหล่านั้นไปด้วยhttp://Web Inspector จะไม่ผิดพลาดเมื่อฉันดูหน้าเว็บในเครื่องโดยปิดเฉพาะเซิร์ฟเวอร์

คำตอบ:


1

ฉันเพิ่งแก้ไขปัญหาเดียวกันบนไซต์อย่างแม่นยำ มันเป็นเรื่องน่ารำคาญเมื่อผู้ดีบักทำการจึงไม่สามารถช่วยคุณหาปัญหาได้!

ปัญหาของฉันเกิดจากชั้นเรียนที่หลงทางเข้ามาในสไตล์

<div style="background: #ffb380; padding-bottom:30px; width:300px; text-center;">

การลบศูนย์ข้อความแก้ไขปัญหาและตัวตรวจสอบเว็บไซต์โหลดอย่างถูกต้อง ฉันคาดหวังว่าคุณมีข้อผิดพลาดในหน้าเว็บที่ทำให้ผู้ตรวจสอบเว็บไซต์สำลัก สองวิธีที่ฉันสามารถแนะนำ:

  1. ตัวตรวจสอบข้อผิดพลาดออนไลน์เช่นhttp://www.onlinewebcheck.com/
  2. ติดตามปัญหาด้วยการลบเนื้อหาจากหน้าจนกว่าผู้ตรวจสอบเว็บไซต์จะโหลด

HTML ของฉันผ่านการตรวจสอบ CSS ของฉันมี "ข้อผิดพลาด" ซึ่งเป็นเพียงเพราะฉันใช้-webkit-คำนำหน้าในตัวเลือกเฉพาะ และอีกครั้งสารวัตรเว็บไม่ได้มีปัญหาเมื่อผมตรวจสอบหน้าเว็บในประเทศ ...
daGUY

หากเซิร์ฟเวอร์ / หน้าเว็บของคุณใช้ js / html ที่แตกต่างกันหรือดำเนินการแตกต่างกันเล็กน้อยที่สามารถอธิบายได้ ฉันจะลบเนื้อหาออกจากหน้าเพื่อเพิ่มสาเหตุ
ต.ค.

ดูการอัปเดตของฉัน - ความแตกต่างเพียงอย่างเดียวระหว่างโลคัล / เซิร์ฟเวอร์คือเวอร์ชันโลคัลมีสองสคริปต์ที่ไม่ได้โหลดจริงดังนั้นฉันคิดว่านั่นเป็นผู้ร้าย อย่างไรก็ตามแม้ว่าฉันจะโหลดพวกเขาในพื้นที่ฉันไม่ได้รับความผิดพลาด
daGUY

คุณลองค้นหาปัญหาโดยลบเนื้อหาของหน้า? IMHO เป็นวิธีเดียวที่คุณจะแก้ไขได้
daw

0

ความผิดพลาดควรสร้างบันทึกข้อผิดพลาด เนื่องจากเนื้อหาเว็บแต่ละรายการทำงานในกระบวนการของตัวเอง เปิด/Applications/Utilities/Console.appและประเภท WebContent สิ่งนี้จะแสดงรายงานข้อขัดข้องให้คุณ:

30/01/2014 21: 39: 20.697 ReportCrash [4191]: รายงานข้อขัดข้องที่บันทึกไว้สำหรับ com.apple.WebKit.WebContent [331] รุ่น 9537 (9537.73.11) ไปยัง / ผู้ใช้ / ชื่อผู้ใช้ / ไลบรารี / บันทึก / DiagnosticReports / com apple.WebKit.WebContent_2014-01-30-213920-1_My-Mac.crash

นอกจากนี้ยังจะมีปุ่มป้อนคำอธิบายรูปภาพที่นี่ซึ่งคุณสามารถคลิกเพื่อรับรายละเอียดเพิ่มเติม

ในนั้นคุณจะเห็นเส้นเช่น:

Crashed Thread:  18  Dispatch queue: CA::CG::Queue

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called

โพสต์ส่วนนี้และเธรดที่ระบุว่าทำงานล้มเหลว ตัวอย่างของฉันคือเธรด18

จะมีสองรายการสำหรับเธรด หนึ่งที่มีลักษณะเช่นนี้:

18  com.apple.HIToolbox             0x00007fff8f7cecb7 ReceiveNextEventCommon + 479

และอีกอันหนึ่งลงไปอีก:

Thread 18 Crashed:: Dispatch queue: CA::CG::Queue
0   libsystem_kernel.dylib          0x00007fff96301866 __pthread_kill + 10
1   libsystem_pthread.dylib         0x00007fff8d0f235c pthread_kill + 92
2   libsystem_c.dylib               0x00007fff904adbba abort + 125
3   libGPUSupportMercury.dylib      0x00007fff95e551b6 gpusKillClient + 111
4   libGPUSupportMercury.dylib      0x00007fff95e5651a gpusSubmitDataBuffers + 161
5   com.apple.GeForceGLDriver       0x00001234402eefe1 0x123440000000 + 3076065
6   com.apple.GeForceGLDriver       0x00001234402eee49 0x123440000000 + 3075657
7   com.apple.QuartzCore            0x00007fff9a4f7cf4 CA::CG::Renderer::flush(bool) + 44
8   com.apple.QuartzCore            0x00007fff9a4f4fb5 CA::CG::IOSurfaceQueue::flush_renderer(CA::CG::Queue::FlushMode) + 117
9   com.apple.QuartzCore            0x00007fff9a4f6b5d CA::CG::Queue::render_callback(void*) + 555
10  libdispatch.dylib               0x00007fff9781d2ad _dispatch_client_callout + 8
11  libdispatch.dylib               0x00007fff9781f68f _dispatch_queue_drain + 451
12  libdispatch.dylib               0x00007fff978209dd _dispatch_queue_invoke + 110
13  libdispatch.dylib               0x00007fff9781efa3 _dispatch_root_queue_drain + 75
14  libdispatch.dylib               0x00007fff97820193 _dispatch_worker_thread2 + 40
15  libsystem_pthread.dylib         0x00007fff8d0f2ef8 _pthread_wqthread + 314
16  libsystem_pthread.dylib         0x00007fff8d0f5fb9 start_wqthread + 13

การโพสต์หัวข้อเหล่านี้ที่นี่อาจจะมีคนเห็นหรือไม่ว่าข้อผิดพลาดคืออะไร


หืม ... ดูเหมือนว่าแท็บนั้นจะไม่ได้สร้างบันทึกข้อผิดพลาด ฉันไม่เห็นอะไรเลยใน Console.app ที่อ้างถึง WebContent จนกระทั่งหลังจากฉันปิดแท็บที่ขัดข้องด้วยตนเองซึ่งจะสร้างข้อความที่ฉันยกมาในคำถามของฉัน
daGUY

ตกลงมันก็คุ้มค่าถ่อ หากคุณมีเว็บเปิดให้ตรวจสอบสำหรับหน้าอื่นแล้วไปที่ URL นั้นจะเกิดอะไรขึ้น หรือถ้าคุณอยู่ในมุมมองคอนโซลของผู้ตรวจสอบเว็บ ..
markhunte

หากฉันทำเช่นนั้นสิ่งทั้งหมดจะหยุดก่อนที่การโหลดจะเสร็จสิ้นดังนั้นคอนโซลของ Web Inspector จะไม่มีโอกาสแสดงข้อความใด ๆ ฉันยังสังเกตเห็นว่าไม่มีกระบวนการ "เนื้อหาเว็บ Safari" ในการตรวจสอบกิจกรรมที่แสดงว่ามีข้อผิดพลาดดังนั้นฉันคิดว่านั่นเป็นสาเหตุที่ไม่มีบันทึกข้อผิดพลาด?
daGUY
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.