การแก้ปัญหา

แม้แต่นักพัฒนาแอปที่มีประสบการณ์มากที่สุดก็เขียนโค้ดได้อย่างถูกต้องตั้งแต่ครั้งแรกได้น้อยมาก การแก้ปัญหาจึงถือเป็นส่วนสำคัญของกระบวนการพัฒนา ในส่วนนี้เราจะกล่าวถึงเทคนิคบางอย่างที่จะช่วยคุณค้นหา ทําความเข้าใจ และแก้ไขข้อบกพร่องในสคริปต์

ข้อความแสดงข้อผิดพลาด

เมื่อสคริปต์พบข้อผิดพลาด ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ข้อความจะมาพร้อมกับหมายเลขบรรทัดที่ใช้สำหรับการแก้ปัญหา ข้อผิดพลาดพื้นฐาน 2 ประเภทที่แสดงด้วยวิธีนี้คือข้อผิดพลาดด้านไวยากรณ์และข้อผิดพลาดรันไทม์

ข้อผิดพลาดทางไวยากรณ์

ข้อผิดพลาดของไวยากรณ์เกิดจากเขียนโค้ดที่ไม่เป็นไปตามไวยากรณ์ JavaScript และระบบจะตรวจพบข้อผิดพลาดทันทีที่คุณพยายามบันทึกสคริปต์ ตัวอย่างเช่น ข้อมูลโค้ดต่อไปนี้มีข้อผิดพลาดทางไวยากรณ์

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ";
  MailApp.sendEmail('john@example.com',
                    'Data in row ' + rowNumber,
                    rowData);
}

ปัญหาเกี่ยวกับไวยากรณ์คือไม่มีอักขระ ) ที่ส่วนท้ายของบรรทัดที่ 4 เมื่อพยายามบันทึกสคริปต์ คุณจะได้รับข้อผิดพลาดต่อไปนี้

ไม่มีเครื่องหมาย ) หลังรายการอาร์กิวเมนต์ (บรรทัด 4)

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

ข้อผิดพลาดเกี่ยวกับรันไทม์

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

function emailDataRow(rowNumber) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var rowData = data[rowNumber-1].join(" ");
  MailApp.sendEmail('john',
                    'Data in row ' + rowNumber,
                    rowData);
}

โค้ดมีรูปแบบถูกต้อง แต่เรากําลังส่งค่า "john" สําหรับอีเมลเมื่อเรียกใช้ MailApp.sendEmail เนื่องจากอีเมลนี้ไม่ถูกต้อง ระบบจะแสดงข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้สคริปต์

อีเมลไม่ถูกต้อง: john (บรรทัด 5)

สิ่งที่ทําให้ข้อผิดพลาดเหล่านี้แก้ปัญหาได้ยากขึ้นคือข้อมูลที่คุณส่งไปยังฟังก์ชันไม่ได้เขียนไว้ในโค้ด แต่ดึงมาจากสเปรดชีต แบบฟอร์ม หรือแหล่งข้อมูลภายนอกอื่นๆ การใช้เทคนิคการแก้ไขข้อบกพร่องด้านล่างจะช่วยคุณระบุสาเหตุของข้อผิดพลาดเหล่านี้ได้

ข้อผิดพลาดที่พบบ่อย

ด้านล่างนี้คือรายการข้อผิดพลาดที่พบบ่อยและสาเหตุ

มีการเรียกใช้บริการ <action name> หลายครั้งเกินไป

ข้อผิดพลาดนี้บ่งบอกว่าคุณใช้โควต้ารายวันสําหรับการดําเนินการหนึ่งๆ เกินโควต้าแล้ว เช่น คุณอาจพบข้อผิดพลาดนี้หากส่งอีเมลมากเกินไปใน 1 วัน โควต้าจะกำหนดไว้ในระดับที่แตกต่างกันสำหรับบัญชีผู้ใช้ทั่วไป โดเมน และพรีเมียร์ และอาจมีการเปลี่ยนแปลงได้ทุกเมื่อโดยที่ Google ไม่จำเป็นต้องประกาศให้ทราบล่วงหน้า คุณสามารถดูขีดจํากัดโควต้าสําหรับการดําเนินการต่างๆ ได้ในเอกสารประกอบเกี่ยวกับโควต้าของ Apps Script

เซิร์ฟเวอร์ไม่พร้อมใช้งานหรือเกิดข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ โปรดลองอีกครั้ง

สาเหตุที่เป็นไปได้ของข้อผิดพลาดเหล่านี้มีดังนี้

  • เซิร์ฟเวอร์หรือระบบของ Google ไม่พร้อมใช้งานชั่วคราว โปรดรอสักครู่แล้วลองเรียกใช้สคริปต์อีกครั้ง
  • เกิดข้อผิดพลาดในสคริปต์ที่ไม่มีข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง ลองแก้ไขข้อบกพร่องของสคริปต์และดูว่าแยกปัญหาได้หรือไม่
  • Google Apps Script มีข้อบกพร่องที่ทำให้เกิดข้อผิดพลาดนี้ ดูวิธีการค้นหาและส่งรายงานข้อบกพร่องได้ที่ข้อบกพร่อง ก่อนรายงานข้อบกพร่องใหม่ ให้ค้นหาเพื่อดูว่าผู้อื่นรายงานข้อบกพร่องนั้นไปแล้วหรือยัง

ต้องได้รับสิทธิ์จึงจะดำเนินการนั้นได้

ข้อผิดพลาดนี้บ่งบอกว่าสคริปต์ไม่มีการให้สิทธิ์ที่จําเป็นต่อการทํางาน เมื่อเรียกใช้สคริปต์ในเครื่องมือแก้ไขสคริปต์หรือจากรายการเมนูที่กำหนดเอง ระบบจะแสดงกล่องโต้ตอบการให้สิทธิ์แก่ผู้ใช้ อย่างไรก็ตาม เมื่อเรียกใช้สคริปต์จากทริกเกอร์ ฝังไว้ในหน้า Google Sites หรือเรียกใช้เป็นบริการ ระบบจะแสดงกล่องโต้ตอบไม่ได้และข้อผิดพลาดนี้จะแสดงขึ้น

หากต้องการให้สิทธิ์สคริปต์ ให้เปิดเครื่องมือแก้ไขสคริปต์แล้วเรียกใช้ฟังก์ชันใดก็ได้ ข้อความแจ้งการให้สิทธิ์จะปรากฏขึ้นเพื่อให้คุณให้สิทธิ์โปรเจ็กต์สคริปต์ได้ หากสคริปต์มีบริการใหม่ที่ไม่ได้รับอนุญาต คุณต้องให้สิทธิ์สคริปต์อีกครั้ง

ข้อผิดพลาดนี้มักเกิดจากการที่ทริกเกอร์เริ่มทํางานก่อนที่ผู้ใช้จะให้สิทธิ์ หากไม่มีสิทธิ์เข้าถึงโปรเจ็กต์สคริปต์ (เนื่องจากข้อผิดพลาดเกิดขึ้นกับส่วนเสริมที่คุณใช้อยู่ เป็นต้น) ปกติแล้วคุณจะให้สิทธิ์สคริปต์ได้โดยใช้ส่วนเสริมนั้นอีกครั้ง หากทริกเกอร์ยังคงทริกเกอร์และทำให้เกิดข้อผิดพลาดนี้ คุณสามารถนําทริกเกอร์ออกได้โดยทําดังนี้

  1. คลิกทริกเกอร์ ทางด้านซ้ายของโปรเจ็กต์ Apps Script
  2. ที่ด้านขวาของทริกเกอร์ที่ต้องการนำออก ให้คลิกเพิ่มเติม > ลบทริกเกอร์

นอกจากนี้ คุณยังนำทริกเกอร์ส่วนเสริมที่มีปัญหาออกได้โดยถอนการติดตั้งส่วนเสริม

Access denied: DriveApp หรือ The domain policy has disabled third-party Drive apps

ผู้ดูแลระบบ โดเมนสามารถปิดใช้ Drive API ในโดเมนของตน ซึ่งจะป้องกันไม่ให้ผู้ใช้ติดตั้งและใช้แอป Google ไดรฟ์ การตั้งค่านี้ยังป้องกันไม่ให้ผู้ใช้ใช้ส่วนเสริม Apps Script ที่ใช้บริการไดรฟ์หรือบริการไดรฟ์ขั้นสูง (แม้ว่าสคริปต์จะได้รับอนุญาตก่อนที่ผู้ดูแลระบบจะปิดใช้ Drive API ก็ตาม)

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

สคริปต์ไม่มีสิทธิ์รับข้อมูลระบุตัวตนของผู้ใช้ที่ใช้งานอยู่

บ่งบอกว่าสคริปต์ไม่พร้อมใช้งานสำหรับข้อมูลประจำตัวและอีเมลของผู้ใช้ที่ใช้งานอยู่ คําเตือนนี้เป็นผลมาจากการเรียกใช้ Session.getActiveUser() นอกจากนี้ยังอาจเกิดจากการเรียกใช้ Session.getEffectiveUser() หากสคริปต์ทํางานในโหมดการให้สิทธิ์ที่ไม่ใช่ AuthMode.FULL หากมีการส่งสัญญาณคำเตือนนี้ การเรียกใช้ User.getEmail() ในอนาคตจะแสดงผลเป็น "" เท่านั้น

การแก้ปัญหาคําเตือนนี้ทำได้หลายวิธี โดยขึ้นอยู่กับโหมดการให้สิทธิ์ที่สคริปต์ทํางานอยู่ โหมดการให้สิทธิ์จะแสดงในฟังก์ชันที่ทริกเกอร์เป็นพร็อพเพอร์ตี้ authMode ของ e พารามิเตอร์เหตุการณ์

  • ใน AuthMode.FULL ให้ลองใช้ Session.getEffectiveUser() แทน
  • ใน AuthMode.LIMITED ให้ตรวจสอบว่าเจ้าของได้ให้สิทธิ์สคริปต์แล้ว
  • ในโหมดการให้สิทธิ์อื่นๆ โปรดหลีกเลี่ยงการเรียกใช้เมธอดใดเมธอดหนึ่ง
  • หากคุณเป็น ลูกค้าที่ได้รับคำเตือนนี้เป็นครั้งแรกจากทริกเกอร์ที่ติดตั้งได้ ให้ตรวจสอบว่าทริกเกอร์ทำงานในฐานะผู้ใช้ภายในองค์กรของคุณ

ไม่มีคลัง

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

  • คัดลอกและวางโค้ดของไลบรารีลงในสคริปต์ แล้วนําข้อกําหนดของไลบรารีออก
  • คัดลอกสคริปต์คลังแล้วติดตั้งใช้งานเป็นสคริปต์คลังจากบัญชี อย่าลืมอัปเดต Dependency ในสคริปต์ต้นฉบับเป็นไลบรารีใหม่แทนไลบรารีสาธารณะ

เกิดข้อผิดพลาดเนื่องจากไม่มีเวอร์ชันไลบรารีหรือเวอร์ชันการทำให้ใช้งานได้ รหัสข้อผิดพลาด Not_Found

ข้อความแสดงข้อผิดพลาดนี้บ่งบอกถึงสิ่งใดสิ่งหนึ่งต่อไปนี้

  • ลบสคริปต์เวอร์ชันที่ติดตั้งใช้งานแล้ว หากต้องการอัปเดตเวอร์ชันสคริปต์ที่ติดตั้งใช้งาน โปรดดูแก้ไขการติดตั้งใช้งานที่มีเวอร์ชัน
  • มีการลบไลบรารีเวอร์ชันที่สคริปต์ใช้ หากต้องการตรวจสอบว่าคลังใดหายไป ให้คลิก เพิ่มเติมข้างชื่อคลัง > เปิดในแท็บใหม่ ไลบรารีที่ขาดหายไปจะแสดงข้อความแสดงข้อผิดพลาด หลังจากพบคลังที่ต้องการอัปเดตแล้ว ให้ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
    • อัปเดตคลังให้ใช้เวอร์ชันอื่น ดูหัวข้ออัปเดตคลัง
    • นำไลบรารีที่ลบแล้วออกจากโปรเจ็กต์สคริปต์และโค้ด โปรดดูหัวข้อนำคลังออก
  • สคริปต์ของไลบรารีที่สคริปต์ของคุณใช้มีไลบรารีอื่นที่ใช้เวอร์ชันที่ลบไปแล้ว ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
    • หากคุณมีสิทธิ์แก้ไขไลบรารีที่สคริปต์ใช้ ให้อัปเดตไลบรารีรองในสคริปต์นั้นเป็นเวอร์ชันที่มีอยู่
    • อัปเดตคลังให้ใช้เวอร์ชันอื่น ดูหัวข้ออัปเดตคลัง
    • นําไลบรารีออกจากโปรเจ็กต์สคริปต์และโค้ด โปรดดูหัวข้อนำคลังออก

ข้อผิดพลาด 400: invalid_scope เมื่อเรียกใช้ Google Chat API ด้วยบริการขั้นสูง

หากพบ Error 400: invalid_scope พร้อมข้อความแสดงข้อผิดพลาด Some requested scopes cannot be shown แสดงว่าคุณยังไม่ได้ระบุขอบเขตการให้สิทธิ์ในไฟล์ appsscript.json ของโปรเจ็กต์ Apps Script ในกรณีส่วนใหญ่ Apps Script จะกำหนดขอบเขตที่ต้องใช้สคริปต์โดยอัตโนมัติ แต่เมื่อคุณใช้บริการขั้นสูงของ Chat คุณต้องเพิ่มขอบเขตการให้สิทธิ์ที่สคริปต์ใช้ลงในไฟล์ Manifest ของโปรเจ็กต์ Apps Script ด้วยตนเอง ดูหัวข้อการตั้งค่าขอบเขตที่ชัดเจน

หากต้องการแก้ไขข้อผิดพลาด ให้เพิ่มขอบเขตการให้สิทธิ์ที่เหมาะสมลงในไฟล์ appsscript.json ของโปรเจ็กต์ Apps Script โดยเป็นส่วนหนึ่งของอาร์เรย์ oauthScopes เช่น หากต้องการเรียกใช้วิธี spaces.messages.create ให้เพิ่มบรรทัดต่อไปนี้

"oauthScopes": [
  "https://www.googleapis.com/auth/chat.messages.create"
]

ผู้ดูแลระบบไม่อนุญาตให้ UrlFetch ทำการเรียกไปยัง <URL>

ผู้ดูแลระบบ Google Workspace สามารถเปิดใช้รายการที่อนุญาตในคอนโซลผู้ดูแลระบบเพื่อควบคุมโดเมนภายนอกที่คุณเข้าถึงได้ผ่าน Apps Script

หากต้องการแก้ไขข้อผิดพลาดนี้ โปรดติดต่อผู้ดูแลระบบเพื่อขอให้เพิ่ม URL นั้นลงในรายการที่อนุญาต

การแก้ไขข้อบกพร่อง

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

การบันทึก

ขณะแก้ไขข้อบกพร่อง บ่อยครั้งที่การบันทึกข้อมูลขณะที่โปรเจ็กต์สคริปต์ทำงานจะมีประโยชน์ Google Apps Script มี 2 วิธีในการบันทึกข้อมูล ได้แก่ บริการบันทึกข้อมูลระบบคลาวด์ และบริการบันทึกและคอนโซลพื้นฐานมากกว่า ซึ่งติดตั้งไว้ในเครื่องมือแก้ไข Apps Script

ดูรายละเอียดเพิ่มเติมในคู่มือการบันทึก

Error Reporting

ระบบจะบันทึกข้อยกเว้นที่เกิดขึ้นเนื่องจากข้อผิดพลาดรันไทม์โดยอัตโนมัติโดยใช้บริการการรายงานข้อผิดพลาดของ Google Cloud บริการนี้ช่วยให้คุณค้นหาและกรองข้อความข้อยกเว้นที่โปรเจ็กต์สคริปต์สร้างขึ้นได้

หากต้องการเข้าถึงการรายงานข้อผิดพลาด โปรดดูดูบันทึกในระบบคลาวด์และรายงานข้อผิดพลาดในคอนโซล Google Cloud Platform

การดำเนินการ

ทุกครั้งที่คุณเรียกใช้สคริปต์ Apps Script จะบันทึกการดำเนินการ รวมถึงบันทึกในระบบคลาวด์ ระเบียนเหล่านี้จะช่วยให้คุณเข้าใจการดำเนินการที่สคริปต์ดำเนินการ

หากต้องการดูการดำเนินการของสคริปต์ในโปรเจ็กต์ Apps Script ให้คลิกการดำเนินการ ทางด้านซ้าย

กำลังตรวจสอบสถานะบริการ Apps Script

แม้ว่าจะไม่ค่อยเกิดขึ้น แต่บางครั้งบริการบางอย่างของ Google Workspace (เช่น Gmail หรือไดรฟ์) อาจพบปัญหาชั่วคราวที่อาจส่งผลให้บริการหยุดทำงาน เมื่อเกิดกรณีนี้ขึ้น โปรเจ็กต์ Apps Script ที่โต้ตอบกับบริการเหล่านี้อาจไม่ทำงานตามที่คาดไว้

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

ใช้โปรแกรมแก้ไขข้อบกพร่องและเบรกพอยต์

หากต้องการค้นหาปัญหาในสคริปต์ ให้เรียกใช้สคริปต์ในโหมดแก้ไขข้อบกพร่อง เมื่อเรียกใช้โหมดแก้ไขข้อบกพร่อง สคริปต์จะหยุดชั่วคราวเมื่อถึงจุดหยุดพัก ซึ่งก็คือบรรทัดที่ไฮไลต์ในสคริปต์ที่คุณคิดว่าอาจมีปัญหา เมื่อสคริปต์หยุดชั่วคราว ระบบจะแสดงค่าของตัวแปรแต่ละรายการ ณ เวลานั้น ซึ่งช่วยให้คุณตรวจสอบการทํางานภายในของสคริปต์ได้โดยไม่ต้องเพิ่มคำสั่งการบันทึกจำนวนมาก

เพิ่มเบรกพอยต์

หากต้องการเพิ่มจุดหยุดพัก ให้วางเมาส์เหนือหมายเลขบรรทัดของบรรทัดที่ต้องการเพิ่มจุดหยุดพัก คลิกวงกลมทางด้านซ้ายของหมายเลขบรรทัด รูปภาพด้านล่างแสดงตัวอย่างจุดหยุดพักที่เพิ่มลงในสคริปต์

เพิ่มเบรกพอยต์

เรียกใช้สคริปต์ในโหมดแก้ไขข้อบกพร่อง

หากต้องการเรียกใช้สคริปต์ในโหมดแก้ไขข้อบกพร่อง ให้คลิกแก้ไขข้อบกพร่องที่ด้านบนของเครื่องมือแก้ไข

ก่อนที่สคริปต์จะเรียกใช้บรรทัดที่มีจุดหยุดพักชั่วคราว ระบบจะหยุดชั่วคราวและแสดงตารางข้อมูลการแก้ไขข้อบกพร่อง คุณสามารถใช้ตารางนี้เพื่อตรวจสอบข้อมูล เช่น ค่าของพารามิเตอร์และข้อมูลที่จัดเก็บไว้ในออบเจ็กต์

หากต้องการควบคุมวิธีเรียกใช้สคริปต์ ให้ใช้ปุ่ม "Step in" "Step over" และ "Step out" ที่ด้านบนของแผงโปรแกรมแก้ไขข้อบกพร่อง ซึ่งจะช่วยให้คุณเรียกใช้สคริปต์ทีละบรรทัดและตรวจสอบว่าค่ามีการเปลี่ยนแปลงอย่างไรเมื่อเวลาผ่านไป

ปัญหาเกี่ยวกับบัญชี Google หลายบัญชี

หากเข้าสู่ระบบบัญชี Google หลายบัญชีพร้อมกัน คุณอาจพบปัญหาในการเข้าถึงส่วนเสริมและเว็บแอป ระบบไม่รองรับการเข้าสู่ระบบหรือการดึงเข้าสู่ระบบหลายบัญชี Google หลายบัญชีพร้อมกันสําหรับ Apps Script, ส่วนเสริม หรือเว็บแอป

  • หากเปิดเครื่องมือแก้ไข Apps Script ขณะเข้าสู่ระบบบัญชีมากกว่า 1 บัญชี Google จะแจ้งให้คุณเลือกบัญชีที่ต้องการดำเนินการต่อ

  • หากเปิดเว็บแอปหรือส่วนเสริมและพบปัญหาเกี่ยวกับการเข้าสู่ระบบหลายบัญชี ให้ลองใช้วิธีแก้ปัญหาวิธีใดวิธีหนึ่งต่อไปนี้

    • ออกจากระบบบัญชี Google ทั้งหมด แล้วเข้าสู่ระบบบัญชีที่มีส่วนเสริมหรือเว็บแอปที่ต้องการเข้าถึงเท่านั้น
    • เปิดหน้าต่างที่ไม่ระบุตัวตนใน Google Chrome หรือหน้าต่างการเรียกดูแบบส่วนตัวที่เทียบเท่า แล้วเข้าสู่ระบบบัญชี Google ที่มีส่วนเสริมหรือเว็บแอปที่ต้องการเข้าถึง

การขอความช่วยเหลือ

การแก้ไขข้อบกพร่องโดยใช้เครื่องมือและเทคนิคที่ระบุไว้ข้างต้นจะช่วยแก้ปัญหาได้หลายอย่าง แต่คุณอาจพบปัญหาที่ต้องใช้ความช่วยเหลือเพิ่มเติมในการแก้ปัญหา โปรดดูข้อมูลเกี่ยวกับตําแหน่งที่คุณสามารถถามคําถามและรายงานข้อบกพร่องได้ที่หน้าการสนับสนุน