使用数据库加速符号查询

在Nano Code中每次进行符号查询时都需要等待一段时间,尤其是加载后的第一次查询,就算只是查询一个函数名也需要等待十几秒的时间。因此,格蠹为提高符号查询的效率,引入了可以使用数据库查询的选项。


用户可以通过x <module>!**?命令查询相关命令的使用说明,当然,在使用这个命令前请务必记得加载符号(下图以lk符号为例)

命令详解

x <module>!**qe


使用qe命令代表此时数据库可用,并创建一个与符号文件同名的.db文件放在同目录下

此时相关db文件已经建立


x <module>!**qq <sql command>


使用qq命令并在空格后加上sql相关的查询命令即可查询数据库中的数据
(注意:查询DW_TAG表时最好不要进行全部数据查询,可以加上limit (num)这样的限制语句,内核符号下生成的DW_TAG表中数据太多,全部查询会导致NanoCode卡顿


x <module>!**ql


使用ql命令可以列出该符号存储的数据库中的所有表

x <module>!**qt <table name>


使用qt命令并输入相关表名时,即会出现该表在数据库中的列结构

x <module>!**qd


使用后会禁用数据库加速,但并不会删除数据库文件

x <module>!**qr


qr命令使用后会将生成的数据库文件删除
(删除失败可能是在另一个地方打开了数据库,导致数据库正在使用,无法删除)

x <module>!**qs <FileName>


qs命令可以进行相关src文件及其对应的目录查询,查询结果如下所示
(注意:此命令必须在数据库存在的情况下使用,通配符支持星号( * )和下划线( _ ))

查询单个src文件

作者:张诗雨  创建时间:2023-08-11 09:12
最后编辑:张诗雨  更新时间:2024-08-16 14:23