Отладка Gtk-CRITICAL - PullRequest
       9

Отладка Gtk-CRITICAL

0 голосов
/ 30 марта 2019

При запуске моей программы я получаю Gtk-CRITICAL ошибку в Терминале, которую я хотел бы исправить.

Я нашел эту ссылку через Google, но оказывается, что в gdb такой опции нет:

igor@IgorReinCloud ~/dbhandler/Debug/dbhandler $ gdb --g-fatal-warnings dbhandler
gdb: unrecognized option '--g-fatal-warnings'
Use `gdb --help' for a complete list of options.

Я также пытался установить точку останова для функции g_log (), но выполнение на этом не остановилось.

Чего мне не хватает?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 марта 2019

вы можете использовать G_DEBUG=fatal-criticals, чтобы выполнение приложения прерывалось в первом месте, где испускается критическое значение.

Чтобы запустить внутри GDB, запустите G_DEBUG=fatal-criticals gdb my-app и, как обычно, выполните run внутри GDB, чтобы запустить ваше приложение.

Вы также можете установить переменную окружения G_DEBUG с помощью export (если bash). Таким образом, вы можете выполнить export G_DEBUG=fatal-criticals, а затем запустить свое приложение как gdb my-app, что будет иметь тот же эффект.

Подробнее см. https://developer.gnome.org/glib/stable/glib-running.html

1 голос
/ 30 марта 2019

Чего мне не хватает?

Похоже, что после прочтения ссылки вы были озадачены тем, что в gdb должна быть опция --g-fatal-warnings для отладки приложений Gtk.Это не так, потому что GDB - это не приложение Gtk, а ваша программа.Поэтому вы должны запускать вашу программу с параметром --g-fatal-warnings внутри gdb следующим образом:

gdb --args dbhandler --g-fatal-warnings

См. Также связанный вопрос Как запустить программу с аргументами командной строки, используя gdb в скрипте bash? .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...