This is useful for embedding in Shell scripts.
If you have a BUFR message and want to know which files/directories are being accessed by ecCodes during the decoding, you can use the Unix "strace" command:
% strace -o trace.txt bufr_dump my.bufr
This will create a new file called "trace.txt" which records the system calls made. Search this for strings like "definitions/bufr/tables" and you can see which files ecCodes is trying to access and open.
Download an example here.
This tarball contains a BUFR file which uses local descriptors as well as the definition files needed to decode the tables.