我正在恢复一个多年未开发的旧 Xt/Motif 应用程序的源代码构建,最后在 32 位 Red Hat 4 上成功构建。我主要在 64 位 Red Hat 5 上构建和运行它。有只是应用程序的一个重大问题......它不会响应它应该响应的大多数键盘输入。菜单加速器都不起作用,许多其他应该支持特定功能的修改和未修改的按键也不起作用。该应用程序识别的唯一击键是进入文本输入字段和箭头键导航跨小部件的行/列数据。
我虽然这可能只是由于错误的应用程序代码,但后来发生了一些奇怪的事情......所有的键都开始工作了!我不知道我做了什么导致这种情况发生。我只是通过在调试器中运行代码来研究代码,然后应用程序开始响应键盘输入。此时,我尝试在没有调试器的情况下运行,并且按键仍然有效。然后,我尝试运行一个也出现问题的旧版本,并且该版本也能正常工作。
我将这些相同的可执行文件复制到另一台 Centos 5 机器上,在那里,密钥仍然不起作用。我花了很多时间研究这两种环境,但无法弄清楚两者之间有什么不同。然后我重新启动了我的机器(应用程序在其上神奇地工作的机器),现在密钥也不再在该机器上工作。我能想到的任何事情都不会导致按键再次被识别。
所以很明显,这个问题至少在某种程度上是环境问题。谁能提供关于这里发生了什么的任何线索?我的环境发生了什么变化导致应用程序暂时开始正常运行?我希望那里有一些 Xt/Motif 大师可能知道这里发生了什么。