我試圖調試os161,並且由於缺少調試信息而遇到麻煩。我的任何函數都沒有行號信息,所以我可以做類似「b lock_acquire」的事情,但是當我做「s」時,它會說「單步執行直到退出函數lock_acquire, 」,它沒有行號信息。當我嘗試執行「l lock_acquire」時,我也會得到「無行號已知錯誤」,並獲得「當前上下文中沒有符號鎖定」。當我在lock_acquire時輸入「p lock」。此外,當我輸入ptype curthread時,它會顯示「數據變量,找不到調試信息」,而不是有用的東西。我用這裏的配置方向http://www.cdf.utoronto.ca/~csc369h/fall/docs/configure.shtml。編譯os161時有什麼方法可以添加更多的調試信息嗎?將調試信息添加到os161
編輯: 要啓動gdb我在一個窗口中鍵入
% cd ~/os161/root
% sys161 -w kernel
,然後在第二窗口中鍵入
% cd ~/os161/root
% cs161-gdb kernel
(gdb) target remote unix:.sockets/gdb
。