您的位置:首页 > 其它

一个操作系统的实现--文件系统调试的一些细节

2016-08-26 11:22 323 查看
解压.gz文件指令:

gunzip filename.gz。

Makefile在第九章的e文件夹需要进行一些修改:

ASMBFLAGS
= -I boot/include/
ASMKFLAGS
= -I include/ -I include/sys/ -f elf
CFLAGS
= -I include/ -I include/sys/ -m32 -fno-stack-protector -c -fno-builtin -Wall
#CFLAGS
= -I include/ -c -fno-builtin -fno-stack-protector -fpack-struct -Wall
LDFLAGS
= -m elf_i386 -Ttext $(ENTRYPOINT) -Map krnl.map

增加对sconst.inc的目录记录---I include/sys/,注意最后要加上/。

运行完g后,关闭虚拟机,安装gthumb:sudo apt-get install gthumb,安装graphviz:sudo apt-get install graphviz。

  

linux ./执行文件时权限不够:

可以用"chmod  a+x  文件名"来添加执行权限。
或者用chmod  777  文件名对所有人添加读、写、执行权限。
chmod命令
格式1:chmod   [ugoa]  [+-=] [rwx]  文件或目录...
格式2:chmod nnn 文件或目录...

添加执行权限后便可以执行了。

cat filedesc.dot | chmod a+x ./splitgraphs:在genlog文件,第25行修改。

./genlog:根据硬盘也就是80m.img生成llsyslog文件和filedesc.dot文件。

 dot -Tsvg filedesc.dot -o filedesc.svg:生成svg图片文件。双击便可查看图片。

参考文档:

1 安装graphviz     sudo apt-get install graphviz

2 编辑dot文件,例如test.dot, 产生图片:dot -Tsvg test.dot -o test.svg

Graphviz - Graph Visualization Software

执行文件路径:
/usr/bin/dot

运行g以后程序时,在fs文件夹的disklog.c的最后两行,将注释代码恢复,将main.c的99行的注释代码恢复。

虚拟机运行玩程序以后,硬盘中已经存好log内容,讲80m.img放入scripts中,运行,即可查看图片。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息