Where defines uvm_config_db::set/get?

Hi everyone,
I encountered a basic issue that I can not find the reason
In the top file:
uvm_config_db #(logic)::set(null, “", “done” , 1’b1);
uvm_config_db #(logic)::get(null, "
”, “done”, done)): done can get value form uvm_config_db
In another file (Ex: testbench)
uvm_config_db #(logic)::get(null, “*”, “done”, done)): done can not get value form uvm_config_db
I tried to use uvm_config_db::dump in top file: done field is print but in tb, it doesn’t.
I looked in uvm lib/src/base/uvm_config_db.svh. I asserted some displays in set and get function. And they are printed only for phase, sequences and virtual interfaces, I can not find set/get when excecute my set/get.
Please explain how to uvm_config_db work, any place to override set/get?
Thanks in advance!