2014-02-23 6 views
0

나는 선을 Executing (실행 중)에 경고를 가지고 : 그들과 유사한 경고에 대해 이야기 웹gtkWarnings의 소스를 찾는 방법은 무엇입니까?

self.builder.add_from_file(self.glade_file) 

GtkWarning: IA__gtk_widget_set_size_request: assertion `GTK_IS_WIDGET (widget)' failed

self.builder.add_from_file(self.glade_file)

GtkWarning: IA__gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

self.builder.add_from_file(self.glade_file)

GtkWarning: IA__gdk_window_get_width: assertion `GDK_IS_WINDOW (window)' failed

self.builder.add_from_file(self.glade_file)

GtkWarning: IA__gdk_window_get_height: assertion `GDK_IS_WINDOW (window)' failed

self.builder.add_from_file(self.glade_file)

GtkWarning: IA__gtk_widget_reparent: assertion `widget->parent != NULL' failed

self.builder.add_from_file(self.glade_file)

모든 기사가 나는 심각하게 필요로 한 단계를 놓쳤다.

어디서 오류가 있습니까 ?? 내 글 위치 파일에 200 개가 넘는 개체가 포함되어 있습니다. 정확한 개체를 감지하여이를 해결하는 방법은 무엇입니까? 이 경고의 소스는 어느 라인입니까?

+0

문제는 빌더 파일에 있지만 코드에는 없다고 생각한다. 그냥 직감 : 어떤 시점에서 위젯을 파괴하고 있습니까? (창을 닫을 때 창을 파괴 할 수도 있습니다)? 일반적인 new_from_file() 생성자 대신 add_from_file()이 사용 된 이유에 대한 컨텍스트를 표시 할 수 있습니까? – jku

+0

예, 창을 닫을 때 창이 파괴됩니다. 하지만 warining 코드의 시작 (더 일찍)에서 발생합니다 – esnadr

+0

나는 new_from_file()을 시도합니다. – esnadr

답변

1

C 코드의 경우 G_DEBUG=fatal-warnings을 정의하고 디버거를 사용하여 오류를 검사합니다. 그래도 파이썬적인 방법은 무엇인지 모르겠다.

+0

힌트를 주셔서 감사합니다. gdb가 mainwin.py를 실행했습니다. --env G_DEBUG = 치명적인 경고가 변경되지 않았습니다. – esnadr

+0

글쎄, 이제 첫 번째 경고에서 중단해야한다. 그렇습니까? 그런 다음 프로그램을 호출하기 전에'export G_DEBUG = fatal-warnings'을 시도하십시오 ... – liberforce

+0

전혀 중단하지 않습니다. – esnadr