mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
raddbgi_from_pdb: adjust itype -> type node building strategy; do initial pass of finding dependent itypes from a given itype, since those *must* be built first in order to comply with raddbgi's rule of type nodes only ever referencing earlier type nodes; then do a single itype build pass where you build all itypes by iterating their dependency chains
This commit is contained in:
@@ -457,7 +457,7 @@ CV_BasicTypeTable:
|
|||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ rjf: CV Leaf
|
//~ rjf: CV Leaf Kinds
|
||||||
|
|
||||||
@table(name header_type_name val)
|
@table(name header_type_name val)
|
||||||
CV_LeafKindTable:
|
CV_LeafKindTable:
|
||||||
|
|||||||
+2
-2
@@ -6870,13 +6870,13 @@ df_single_line_eval_value_strings_from_eval(Arena *arena, DF_EvalVizStringFlags
|
|||||||
if(opt_member != 0)
|
if(opt_member != 0)
|
||||||
{
|
{
|
||||||
U64 member_byte_size = tg_byte_size_from_graph_rdi_key(graph, rdi, opt_member->type_key);
|
U64 member_byte_size = tg_byte_size_from_graph_rdi_key(graph, rdi, opt_member->type_key);
|
||||||
str8_list_pushf(arena, &list, "member (%I64u offset, %I64u byte%s)", opt_member->off, member_byte_size, member_byte_size > 1 ? "s" : "");
|
str8_list_pushf(arena, &list, "member (%I64u offset, %I64u byte%s)", opt_member->off, member_byte_size, member_byte_size == 1 ? "s" : "");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String8 basic_type_kind_string = tg_kind_basic_string_table[tg_kind_from_key(eval.type_key)];
|
String8 basic_type_kind_string = tg_kind_basic_string_table[tg_kind_from_key(eval.type_key)];
|
||||||
U64 byte_size = tg_byte_size_from_graph_rdi_key(graph, rdi, eval.type_key);
|
U64 byte_size = tg_byte_size_from_graph_rdi_key(graph, rdi, eval.type_key);
|
||||||
str8_list_pushf(arena, &list, "%S (%I64u byte%s)", basic_type_kind_string, byte_size, byte_size > 1 ? "s" : "");
|
str8_list_pushf(arena, &list, "%S (%I64u byte%s)", basic_type_kind_string, byte_size, byte_size == 1 ? "s" : "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
//~ rjf: Hot, High Priority Tasks (Complete Unusability, Crashes, Fire-Worthy)
|
//~ rjf: Hot, High Priority Tasks (Complete Unusability, Crashes, Fire-Worthy)
|
||||||
//
|
//
|
||||||
|
// [ ] DBGI layer is case-sensitive even on case-insensitive systems
|
||||||
// [ ] Jump table thunks, on code w/o /INCREMENTAL:NO
|
// [ ] Jump table thunks, on code w/o /INCREMENTAL:NO
|
||||||
//
|
//
|
||||||
// [ ] ** Thread/process control bullet-proofing, including solo-step mode
|
// [ ] ** Thread/process control bullet-proofing, including solo-step mode
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user