|
发表于 2006-8-28 14:08:17
|
显示全部楼层
Post by multinet
尽管和输入法无关, 但是可能这里的大侠们之前做过类似的工作, 所以也在这里发一个帖子.
scim 输入法平台会使用scim-fcitx 输入法engine的动态链接库. 我现在要用gdb去调试一下scim-fcitx输入法engine. 如果只用gdb scim, 找不到关于fcitx动态库的相关信息. 如果用attach + scim_launcher (socket) pid的话, 可以看到scim 所 load到的各个输入法engine的so文件. 而且这个时候gdb也可以找的到有关fcitx的文件和函数的. 可设置断点后scim的程序就会没有响应. 打开终端也会出错.这个时候只能强行关闭终端/log off/或者重新启动. 请问应该怎样去作这样的调试呢?
呵呵,我以前移植scim-fcitx的时候是在系统里启动两个输入法,一个是正在开发的scim-fcitx(也就是scim输入法),另一个就是真正的fcitx,其中我用来调试的窗口用的输入法是用fcitx的,这样即使scim挂住了我的调试窗口不会受影响。当然,也可以让调试窗口不使用任何输入法。我都有点记不清了,当时应该写个文档的。
这样调试是蛮麻烦的,没办法,以后再开发的时候真的要用scim::debug了 |
|