我想查看 GTK 2 程序 (Xournal) 收到的 GDK 事件以进行调试,这应该可以通过传递选项来实现--gdk-debug=events
。但是,该选项显然是直接传递给程序的,因此程序可以理解地认为它是无效的(显然它应该由 GTK 处理)。
我找不到任何-dbg
可以让此选项可用的 GTK 2 (Ubuntu 14.04) 软件包 - 有吗?我安装的软件包libgdk-pixbuf2.0-0-dbg
- 没什么区别。
答案1
回答我自己的问题:我必须使用标志构建 GTK 2 --enable-debug
(-dbg
软件包仅添加符号来调试库本身)并预加载构建的 GDK 库。步骤:
跑步
apt-get source gtk+2.0
- 进入创建的
gtk+2.0<something>
目录 rules
在目录中的文件中debian
,添加--enable-debug=yes
到configure_flags
跑步
dpkg-buildpackage -us -uc
- 使用解压
libgtk2.0-0
Debian 软件包dpkg -x <package> <directory>
,然后进入/usr
直到看到.so
文件 运行要调试的 GTK2 程序
LD_PRELOAD=$(pwd)/libgdk-x11-2.0.so.0 <program>