Skip to content
Derek Bruening edited this page Nov 28, 2014 · 2 revisions

Tips for editing DynamoRIO code.

Ctags

By default, Exuberant Ctags' indexer misses some of DynamoRIO's symbols:

  • variables declared using macros (e.g., DynamoRIO's options in optionsx.h),
  • labels in .asm files, and
  • preprocessor definitions in .asm files.

By telling Ctags about these patterns, you can build a more comprehensive index:

ctags-exuberant '--exclude=win32/*' \
    '--regex-c=/([\t](^)+)[ \t]+VAR_IN_SECTION/\1/d,definition/'\
    '--regex-c=/DECLARE_[\t,](A-Z]*_VAR\(([^)*[](\t)+)*\**([,](^)+),/\2/d,definition/'\
    '--regex-asm=/DECLARE_['--regex-asm=/#[ \t](A-Z_]*FUNC\((.+)\)/\1/d,definition/'\)*define[ \t]+([\t](^()+)/\1/d,definition/'\
    '--regex-c++=/OPTION_?[\t](^(]*\([^,)]*,[)*([)\t](^,)+).*/\1/d,definition/'\
    -R .

Clone this wiki locally