mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-09-24 02:00:05 +00:00
non-scope, non-type namespace gathering / gathering from pdb & baking & dumping
This commit is contained in:
@@ -1026,6 +1026,8 @@ RDI_NamespaceMemberTable:
|
||||
{
|
||||
{name_string_idx RDI_U32 ""}
|
||||
{container_flags RDI_ContainerFlags ""}
|
||||
{padding_0 RDI_U8 ""}
|
||||
{padding_1 RDI_U16 ""}
|
||||
{container_idx RDI_U32 ""}
|
||||
}
|
||||
|
||||
|
||||
@@ -1236,6 +1236,39 @@ lane_sync(); if(flags & (1ull<<(kind))) ProfScope(rdi_name_title_from_dump_subse
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: dump namespaces
|
||||
//
|
||||
DumpSubset(Namespaces)
|
||||
{
|
||||
U64 count = 0;
|
||||
RDI_Namespace *v = rdi_table_from_name(rdi, Namespaces, &count);
|
||||
Rng1U64 range = lane_range(count);
|
||||
for EachInRange(idx, range)
|
||||
{
|
||||
RDI_Namespace *ns = &v[idx];
|
||||
String8 container_kind_name = str8_lit("container_idx");
|
||||
switch(ns->container_flags & RDI_ContainerFlag_KindMask)
|
||||
{
|
||||
default:{}break;
|
||||
case RDI_ContainerKind_Type:
|
||||
{
|
||||
container_kind_name = str8_lit("container_udt_idx");
|
||||
}break;
|
||||
case RDI_ContainerKind_Namespace:
|
||||
{
|
||||
container_kind_name = str8_lit("container_namespace_idx");
|
||||
}break;
|
||||
case RDI_ContainerKind_Scope:
|
||||
{
|
||||
container_kind_name = str8_lit("container_scope_idx");
|
||||
}break;
|
||||
}
|
||||
dumpf("\n '%S': {%S: %I64u} // namespaces[%I64u]", str8_from_rdi_string_idx(rdi, ns->name_string_idx), container_kind_name, ns->container_idx, idx);
|
||||
}
|
||||
if(lane_idx() == lane_count()-1) { dumpf("\n"); }
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: dump strings
|
||||
//
|
||||
|
||||
@@ -32,6 +32,7 @@ X(Scopes, scopes, "SCOPES")\
|
||||
X(ScopeVMap, scope_vmap, "SCOPE VMAP")\
|
||||
X(InlineSites, inline_sites, "INLINE SITES")\
|
||||
X(NameMaps, name_maps, "NAME MAPS")\
|
||||
X(Namespaces, namespaces, "NAMESPACES")\
|
||||
X(Strings, strings, "STRINGS")\
|
||||
|
||||
typedef enum RDI_DumpSubset
|
||||
|
||||
Reference in New Issue
Block a user