Всякий раз, когда я пытаюсь выйти из SimVision (утилита просмотра формы волны, часть Cadence), появляется диалоговое окно, чтобы попросить пользователя подтвердить, что он / она хочет выйти из приложения.

Иногда диалоговое окно перестает отвечать на запросы и его содержимое становится черным:

Скриншот ,

Я использую Scientific Linux (x86_64). Я ожидаю, что это не обязательно ошибка приложения, но что-то идет не так на локальной машине. Каковы эффективные способы отладки этого?

1 ответ1

1

X работает, отправляя так называемое событие Expose для приложений, когда им нужно перерисовать, при необходимости сначала очистив фон (делая его черным).

Таким образом, если приложение остается черным, а приложение не отвечает, наиболее очевидная вещь, которую нужно проверить, - это что-то в приложении. Вполне возможно, что приложение ожидает чего-то другого, и оно не достаточно пронизано, чтобы оставаться отзывчивым, пока оно ожидает.

Первое, что нужно сделать, это ps и посмотреть на состояние приложения и его подпроцессов / потоков. Второе - получить исходный код, если это возможно, подключить отладчик, такой как gdb и выяснить, где он висит и почему.

Очень маловероятно , что «что - то пойдет не так на локальной машине». Ваш локальный компьютер может быть настроен не так, как ожидает приложение, и это может привести к зависанию, но это примерно так.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .