我正在和一位盲人学生一起工作。她可以从命令行运行 gdb 来调试基于窗口的程序,但该程序从 gdb 获取焦点,因此如果命中断点或程序崩溃,屏幕阅读器不会读取 gdb 结果。理想情况下,当它获得 gdb 输出时,焦点是否会转到终端,但除此之外,是否有办法在 gdb 遇到断点或程序崩溃时运行 Linux 命令?然后我可以运行“espeak gdb”,她就会知道 gdb 需要获得焦点。
似乎应该有一种简单的方法可以使用 .gdbinit 中的脚本来完成此操作。
稍后编辑:
我发现你可以将此代码放入 .gdbinit 中:
python
import os
def stop_handler (event):
os.system("espeak gdb")
gdb.events.stop.connect (stop_handler)
Run Code Online (Sandbox Code Playgroud)