Как заставить GDB сломаться при ошибке подтверждения GLib? - PullRequest
23 голосов
/ 26 апреля 2011

Где-то в массе кода, который я не написал (но я пытаюсь отладить), в библиотеке GLib не выполняется утверждение:

(process:31987): GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed

Однако GDB и код продолжают выполняться.Я хотел бы, чтобы GDB сломался там, где это утверждение не удалось, чтобы я мог выяснить, почему оно не выполняется.Мне больше не дают информации о том, где это утверждение.Есть ли способ заставить GDB сломаться при таком сбое?

Ответы [ 2 ]

24 голосов
/ 07 ноября 2011

Вы должны добавить переменную окружения следующим образом:

G_DEBUG=fatal_warnings gdb ...
18 голосов
/ 26 апреля 2011

Перерыв на g_log().Это касается всех случаев, таких как g_warning(), g_critical() и т. Д.

...