Closed alaindargelas closed 2 years ago
vpiParent
visit is a shallow visit. I can add configuration options to the visit_object
call but I am not sure what else I can do to improve debugging. This data in the logs has been very helpful in identifying problems.
Would configuration options to enable/disable the vpiParent
visit help?
I use heavily UHDM::decompile(any* object) during gdb sessions. If you can make that function only print the name and location of the parent and not go as far as it does, that will be perfect.
As you can see above, the traversal is not shallow.:
|vpiActual:
\_ref_obj: (ISA), id:15544, line:287:13, endln:287:16
|vpiParent:
\_hier_path: (ISA.spec.base.E), id:15543, line:287:13, endln:287:28
|vpiName:ISA
|vpiActual:
\_operation: , id:14508, line:91:10, endln:91:13
|vpiParent:
\_param_assign: , id:14436, line:36:9, endln:36:47
|vpiTypespec:
\_struct_typespec: (riscv_isa_pkg::isa_t), id:14509, line:140:9, endln:140:15
|vpiParent:
\_operation: , id:14508, line:91:10, endln:91:13
|vpiName:riscv_isa_pkg::isa_t
|vpiInstance:
Fixed by #3015
With the new explicit visit of vpiParent, it becomes impossible to dump objects while debugging, the traces are showing large amount of object parent data which is typically useless to debug real problems. Please provide a way to disable visiting the parent by default when using UHDM::decompile and only dump the parent info with an explicit option.
Example of such a trace thet goes on and on about the parents.