2018-01-12

1. 问题

drbd-8.4中有如下代码

BIO_ENDIO_TYPE drbd_request_endio BIO_ENDIO_ARGS(struct bio *bio, int error)
{
具体实现略
}

这里 drbd_request_endio 不会被source insight当成函数名.

2. 处理

source insight版本4.0
option- file type option -
左侧file type 选 c/c++ source file, 右侧 parsing, language...
弹出的对话框中,
左侧选 c/c++ language, 右侧点击 properties...

弹出的对话框中, 标签页 custom parsing
打钩 Enable expressions below for parsing

Regular expression pattern:
填写

BIO_ENDIO_TYPE\w+\(.*\)\w+BIO_ENDIO_ARGS

Regular expression syntax: 选Source Insight

Finds this symbol type: 选 function 如图所示:

3. 效果

f7 输入 drbd_request_endio , 可以定位到该函数的实现.

4. 附上元字符

和vim之类的工具 不太一样. 如下:

\s matches a single space character.

\w matches a single white space character. In other words, \w matches either a tab or space character.

本文地址: https://awakening-fong.github.io/posts/tools/source_insight_custom_parsing

转载请注明出处: https://awakening-fong.github.io


若无法评论, 请打开JavaScript, 并通过proxy.


blog comments powered by Disqus