应该是因为,在gcc -g与ld 去掉-s选项之后,整个内核代码体积超过了64k导致的问题。读到对应章节的时候再做处理吧。
第一次随便写下,没想到有人看。再稍稍说的详细些:Orange'S 那本书用bochs进行系统调试,但是只是在汇编模式下进行。到了内核载入,加入各种进程和系统调用之后,汇编调试基本上毫无意义。之前看到gdb + bochs进行linux内核调试的文章(百度第一条就有),随便试了一下,发现可以对Orange'S进行C代码的调试跟踪。后来ubuntu重装,加上其他事情,很久没看那本书。最近重新捡起第九章,发现gdb始终提示没有符号表,即使在gcc编译中加入 -g 选项, ld 去掉-s 也不好使。现在觉得应该是内核体积超过了64k,在载入内核时出错了。
最近没具体调试,mark一下免得忘掉。
考虑到这本书的读者群不大,所以就这样吧。读过的自然知道怎么回事。