Я получаю сообщение об ошибке при запуске программы, написанной на С++ в GTK. Программа останавливается при появлении этой ошибки. Я новичок, и я понятия не имею, что делать для этого. Ошибка заключается в следующем.
(main:4082): Gdk-ERROR **: 15:33:56.607: Программа «main» получила системную ошибку X Window.
Это, вероятно, отражает ошибку в программе.
Ошибка была «BadLength» (слишком большой полизапрос или внутренняя ошибка длины Xlib).
(Подробности: серийный номер 56298 error_code 16 request_code 139 (RENDER) minor_code 23)
(Примечание для программистов: обычно об ошибках X сообщается асинхронно;
то есть вы получите ошибку через некоторое время после ее возникновения.
Чтобы отладить вашу программу, запустите ее в среде GDK_SYNCHRONIZE.
переменная, чтобы изменить это поведение. Затем вы можете получить осмысленное
отладчик, если вы сломаете функцию gdk_x_error().)
Ловушка трассировки/точки останова (дамп ядра)
Я использовал функцию для асинхронного запуска в программе. Я думаю, что эта ошибка может быть из-за этого.
Функция заключается в следующем.
аннулировать асинхронную функцию () {
в то время как (1) {
счетчик = счетчик +1;
//cout << counter<<endl;
строка ул = to_string(счетчик);
const char * bn = str.c_str();
gtk_entry_set_text(GTK_ENTRY(Entry_length), bn);
спать (2);
}
}
И я добавил следующую строку в main.
future<void> fn = async(launch::async, asyncFunction);
Я нашел это в Интернете, и я не имею большого представления об этом.
Может ли кто-нибудь помочь мне исправить эту ошибку. Спасибо.