我正在尝试调试 os161,但由于缺少调试信息而遇到了麻烦。我的函数都没有行号信息,所以我可以执行“b lock_acquire”之类的操作,但是当我执行“s”时,它会显示“单步执行,直到退出没有行号信息的函数 lock_acquire。” 当我尝试执行“l lock_acquire”时,我也会收到“No line number known error”,得到“当前上下文中没有符号锁定”。当我在 lock_acquire 并输入“p lock”时。此外,当我键入 ptype curthread 时,它显示“数据变量,未找到调试信息”而不是有用的东西。我使用了这里的配置说明http://www.cdf.utoronto.ca/~csc369h/fall/docs/configure.shtml。
编辑:要启动 gdb,我输入
% cd ~/os161/root
% sys161 -w kernel
在一个窗口中,然后键入
% cd ~/os161/root
% cs161-gdb kernel
(gdb) target remote unix:.sockets/gdb
在第二个窗口中。