1. ホーム
  2. linux

[解決済み] GLib-GObject-CRITICALの原因となるコードがどこにあるのかを調べるにはどうしたらいいですか?

2022-02-15 01:21:33

質問

C/C++のアプリケーションが以下のCRITICALで失敗する場合、エラーを引き起こしているコードがどこにあるのかを調べる方法を教えてください。

デバッガで、プログラムが失敗したときに'bt'をしようとして実行してみました。しかし、CRITICALを引き起こしているコードがどこにあるかは表示されません。

(process:3155): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:3155): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(process:3155): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:3155): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:3155): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:3155): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:3155): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

解決方法は?

でブレークすることができます。 g_log で、そこからバックトレースしてください。