Como posso usar o --gdk-debug com programas GTK2?

2

Eu quero ver os eventos GDK recebidos por um programa GTK 2 (Xournal) para fins de depuração, o que deve ser possível passando a opção --gdk-debug=events ). No entanto, a opção aparentemente é passada para o programa diretamente, o que, compreensivelmente, o considera inválido (aparentemente, deve ser tratado pelo GTK).

Eu não encontrei nenhum pacote -dbg para o GTK 2 (Ubuntu 14.04) que possa tornar esta opção disponível - existe alguma? O que eu instalei é libgdk-pixbuf2.0-0-dbg - sem diferença.

    
por qwach 28.04.2015 / 17:21

1 resposta

2

Para responder a minha própria pergunta: Eu tive que construir o GTK 2 com o --enable-debug flag ( -dbg packages apenas adicionar símbolos para depurar a própria biblioteca) e pré-carregar a biblioteca GDK construída. Etapas:

  • Executar

    apt-get source gtk+2.0
    
  • Insira o diretório gtk+2.0<something> criado
  • No arquivo rules no diretório debian , adicione --enable-debug=yes ao configure_flags
  • Executar

    dpkg-buildpackage -us -uc
    
  • Descompacte o pacote libgtk2.0-0 Debian com dpkg -x <package> <directory> e desça para /usr até ver .so files
  • Execute o programa GTK2 para ser depurado com

    LD_PRELOAD=$(pwd)/libgdk-x11-2.0.so.0 <program>
    
por qwach 11.05.2015 / 16:02