Pintos中tags工具使用咨询:如何追踪函数与变量引用?
生成标签文件
在pintos/src目录下执行对应命令生成标签:
- 生成Emacs风格标签:
make TAGS - 生成Vi/Vim风格标签:
make tags
使用标签追踪函数/变量引用
Emacs 操作方式
- 加载标签文件:打开项目内的代码文件后,Emacs通常会自动识别同目录下的
TAGS文件;如果未自动加载,可执行M-x visit-tags-table并选中生成的TAGS文件。 - 跳转至定义:
- 直接按
M-.(Alt+句号),输入目标函数/变量名即可跳转至对应定义处 - 若光标正停在目标符号上,按
M-.可直接跳转,无需手动输入名称 - 存在多个匹配定义时,Emacs会提示你选择目标位置
- 直接按
- 返回跳转前位置:按
M-*(Alt+星号)即可返回上一个跳转位置
Vi/Vim 操作方式
- 加载标签文件:打开代码文件后,执行
:set tags=./tags指定标签文件路径;后续可通过:tags命令确认标签是否加载成功。 - 跳转至定义:将光标放在目标函数/变量名上,按
Ctrl+]即可跳转至对应定义处;存在多个匹配时,用:tnext切换下一个匹配,:tprev切换上一个匹配。 - 返回跳转前位置:按
Ctrl+T即可逐层返回之前的跳转位置
关于M-. function_name的有效性
是的,在Emacs环境下完全可以通过M-. function_name的方式快速定位到函数或变量的定义,这是Emacs使用标签文件跳转的标准操作方式。
参考文档内容:
在Pintos的src目录中,可通过make TAGS生成Emacs兼容的标签文件,make tags生成Vi兼容的标签文件。标签文件能够帮助你在大型代码库中快速定位函数、变量、宏等的定义位置,极大提升代码浏览效率。
内容的提问来源于stack exchange,提问作者antonkal
相关产品推荐
相关产品推荐

