ฉันได้รับข้อผิดพลาดขณะเรียกใช้โปรแกรมที่เขียนด้วย c++ ใน GTK โปรแกรมหยุดทำงานเมื่อข้อผิดพลาดนี้ปรากฏขึ้น ฉันเป็นผู้เริ่มต้นและฉันไม่รู้ว่าจะทำอย่างไร ข้อผิดพลาดมีดังนี้
(หลัก:4082): Gdk-ERROR **: 15:33:56.607: โปรแกรม 'main' ได้รับข้อผิดพลาด X Window System
นี่อาจสะท้อนถึงจุดบกพร่องในโปรแกรม
ข้อผิดพลาดคือ 'BadLength (คำขอโพลีมีขนาดใหญ่เกินไปหรือความยาว Xlib ภายในผิดพลาด'
(รายละเอียด: serial 56298 error_code 16 request_code 139 (RENDER) minor_code 23)
(หมายเหตุสำหรับโปรแกรมเมอร์: โดยปกติแล้ว ข้อผิดพลาด X จะถูกรายงานแบบอะซิงโครนัส
นั่นคือคุณจะได้รับข้อผิดพลาดสักครู่หลังจากทำให้เกิดข้อผิดพลาด
ในการดีบักโปรแกรมของคุณ ให้รันด้วยสภาพแวดล้อม GDK_SYNCHRONIZE
ตัวแปรที่จะเปลี่ยนพฤติกรรมนี้ จากนั้นคุณจะได้รับความหมาย
backtrace จากโปรแกรมดีบั๊กของคุณ หากคุณทำงานผิดพลาด gdk_x_error()
แทร็บการติดตาม/เบรกพอยต์ (คอร์ดัมพ์)
ฉันใช้ฟังก์ชันเพื่อเรียกใช้แบบอะซิงโครนัสในโปรแกรม ฉันคิดว่าข้อผิดพลาดนี้อาจเป็นเพราะสิ่งนั้น
ฟังก์ชั่นมีดังนี้
ถือเป็นโมฆะ asyncFunction (){
ในขณะที่ (1){
ตัวนับ = ตัวนับ +1;
สตริง str = to_string (ตัวนับ);
ถ่าน const * bn = str.c_str();
gtk_entry_set_text(GTK_ENTRY(รายการความยาว) พันล้าน);
นอน (2);
}
}
และฉันได้เพิ่มบรรทัดต่อไปนี้ในหลัก
อนาคต <โมฆะ> fn = async (เปิด :: async, asyncFunction);
ฉันพบสิ่งนี้ในอินเทอร์เน็ตและฉันไม่มีความคิดมากนักเกี่ยวกับเรื่องนี้
ใครก็ได้โปรดช่วยฉันแก้ไขข้อผิดพลาดนี้ ขอขอบคุณ.