rebase fixes

This commit is contained in:
Nikita Smith
2026-06-02 12:10:38 -07:00
committed by Ryan Fleury
parent 1883649e18
commit 03180247c9
3 changed files with 158 additions and 144 deletions
+139 -139
View File
@@ -1,139 +1,139 @@
// Copyright (c) Epic Games Tools // Copyright (c) Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/) // Licensed under the MIT license (https://opensource.org/license/mit/)
//- GENERATED CODE //- GENERATED CODE
#ifndef DBG_ENGINE_META_H #ifndef DBG_ENGINE_META_H
#define DBG_ENGINE_META_H #define DBG_ENGINE_META_H
typedef enum D_CmdKind typedef enum D_CmdKind
{ {
D_CmdKind_Null, D_CmdKind_Null,
D_CmdKind_LaunchAndRun, D_CmdKind_LaunchAndRun,
D_CmdKind_LaunchAndStepInto, D_CmdKind_LaunchAndStepInto,
D_CmdKind_Kill, D_CmdKind_Kill,
D_CmdKind_KillAll, D_CmdKind_KillAll,
D_CmdKind_Detach, D_CmdKind_Detach,
D_CmdKind_Continue, D_CmdKind_Continue,
D_CmdKind_StepIntoInst, D_CmdKind_StepIntoInst,
D_CmdKind_StepOverInst, D_CmdKind_StepOverInst,
D_CmdKind_StepIntoLine, D_CmdKind_StepIntoLine,
D_CmdKind_StepOverLine, D_CmdKind_StepOverLine,
D_CmdKind_StepOut, D_CmdKind_StepOut,
D_CmdKind_Halt, D_CmdKind_Halt,
D_CmdKind_SoftHaltRefresh, D_CmdKind_SoftHaltRefresh,
D_CmdKind_SetThreadIP, D_CmdKind_SetThreadIP,
D_CmdKind_RunToLine, D_CmdKind_RunToLine,
D_CmdKind_Run, D_CmdKind_Run,
D_CmdKind_Restart, D_CmdKind_Restart,
D_CmdKind_StepInto, D_CmdKind_StepInto,
D_CmdKind_StepOver, D_CmdKind_StepOver,
D_CmdKind_FreezeThread, D_CmdKind_FreezeThread,
D_CmdKind_ThawThread, D_CmdKind_ThawThread,
D_CmdKind_FreezeProcess, D_CmdKind_FreezeProcess,
D_CmdKind_ThawProcess, D_CmdKind_ThawProcess,
D_CmdKind_FreezeMachine, D_CmdKind_FreezeMachine,
D_CmdKind_ThawMachine, D_CmdKind_ThawMachine,
D_CmdKind_FreezeLocalMachine, D_CmdKind_FreezeLocalMachine,
D_CmdKind_ThawLocalMachine, D_CmdKind_ThawLocalMachine,
D_CmdKind_FreezeEntity, D_CmdKind_FreezeEntity,
D_CmdKind_ThawEntity, D_CmdKind_ThawEntity,
D_CmdKind_SetEntityColor, D_CmdKind_SetEntityColor,
D_CmdKind_SetEntityName, D_CmdKind_SetEntityName,
D_CmdKind_Attach, D_CmdKind_Attach,
D_CmdKind_OpenCrashDump, D_CmdKind_OpenCrashDump,
D_CmdKind_COUNT, D_CmdKind_COUNT,
} D_CmdKind; } D_CmdKind;
typedef enum D_EntityKind typedef enum D_EntityKind
{ {
D_EntityKind_Null, D_EntityKind_Null,
D_EntityKind_Root, D_EntityKind_Root,
D_EntityKind_Machine, D_EntityKind_Machine,
D_EntityKind_Process, D_EntityKind_Process,
D_EntityKind_Thread, D_EntityKind_Thread,
D_EntityKind_Module, D_EntityKind_Module,
D_EntityKind_EntryPoint, D_EntityKind_EntryPoint,
D_EntityKind_DebugInfoPath, D_EntityKind_DebugInfoPath,
D_EntityKind_PendingThreadName, D_EntityKind_PendingThreadName,
D_EntityKind_PendingThreadColor, D_EntityKind_PendingThreadColor,
D_EntityKind_Breakpoint, D_EntityKind_Breakpoint,
D_EntityKind_AddressRangeAnnotation, D_EntityKind_AddressRangeAnnotation,
D_EntityKind_COUNT, D_EntityKind_COUNT,
} D_EntityKind; } D_EntityKind;
typedef enum D_ExceptionCodeKind typedef enum D_ExceptionCodeKind
{ {
D_ExceptionCodeKind_Null, D_ExceptionCodeKind_Null,
D_ExceptionCodeKind_Win32CtrlC, D_ExceptionCodeKind_Win32CtrlC,
D_ExceptionCodeKind_Win32CtrlBreak, D_ExceptionCodeKind_Win32CtrlBreak,
D_ExceptionCodeKind_Win32WinRTOriginateError, D_ExceptionCodeKind_Win32WinRTOriginateError,
D_ExceptionCodeKind_Win32WinRTTransformError, D_ExceptionCodeKind_Win32WinRTTransformError,
D_ExceptionCodeKind_Win32RPCCallCancelled, D_ExceptionCodeKind_Win32RPCCallCancelled,
D_ExceptionCodeKind_Win32DatatypeMisalignment, D_ExceptionCodeKind_Win32DatatypeMisalignment,
D_ExceptionCodeKind_Win32AccessViolation, D_ExceptionCodeKind_Win32AccessViolation,
D_ExceptionCodeKind_Win32InPageError, D_ExceptionCodeKind_Win32InPageError,
D_ExceptionCodeKind_Win32InvalidHandle, D_ExceptionCodeKind_Win32InvalidHandle,
D_ExceptionCodeKind_Win32NotEnoughQuota, D_ExceptionCodeKind_Win32NotEnoughQuota,
D_ExceptionCodeKind_Win32IllegalInstruction, D_ExceptionCodeKind_Win32IllegalInstruction,
D_ExceptionCodeKind_Win32CannotContinueException, D_ExceptionCodeKind_Win32CannotContinueException,
D_ExceptionCodeKind_Win32InvalidExceptionDisposition, D_ExceptionCodeKind_Win32InvalidExceptionDisposition,
D_ExceptionCodeKind_Win32ArrayBoundsExceeded, D_ExceptionCodeKind_Win32ArrayBoundsExceeded,
D_ExceptionCodeKind_Win32FloatingPointDenormalOperand, D_ExceptionCodeKind_Win32FloatingPointDenormalOperand,
D_ExceptionCodeKind_Win32FloatingPointDivisionByZero, D_ExceptionCodeKind_Win32FloatingPointDivisionByZero,
D_ExceptionCodeKind_Win32FloatingPointInexactResult, D_ExceptionCodeKind_Win32FloatingPointInexactResult,
D_ExceptionCodeKind_Win32FloatingPointInvalidOperation, D_ExceptionCodeKind_Win32FloatingPointInvalidOperation,
D_ExceptionCodeKind_Win32FloatingPointOverflow, D_ExceptionCodeKind_Win32FloatingPointOverflow,
D_ExceptionCodeKind_Win32FloatingPointStackCheck, D_ExceptionCodeKind_Win32FloatingPointStackCheck,
D_ExceptionCodeKind_Win32FloatingPointUnderflow, D_ExceptionCodeKind_Win32FloatingPointUnderflow,
D_ExceptionCodeKind_Win32IntegerDivisionByZero, D_ExceptionCodeKind_Win32IntegerDivisionByZero,
D_ExceptionCodeKind_Win32IntegerOverflow, D_ExceptionCodeKind_Win32IntegerOverflow,
D_ExceptionCodeKind_Win32PrivilegedInstruction, D_ExceptionCodeKind_Win32PrivilegedInstruction,
D_ExceptionCodeKind_Win32StackOverflow, D_ExceptionCodeKind_Win32StackOverflow,
D_ExceptionCodeKind_Win32UnableToLocateDLL, D_ExceptionCodeKind_Win32UnableToLocateDLL,
D_ExceptionCodeKind_Win32OrdinalNotFound, D_ExceptionCodeKind_Win32OrdinalNotFound,
D_ExceptionCodeKind_Win32EntryPointNotFound, D_ExceptionCodeKind_Win32EntryPointNotFound,
D_ExceptionCodeKind_Win32DLLInitializationFailed, D_ExceptionCodeKind_Win32DLLInitializationFailed,
D_ExceptionCodeKind_Win32FloatingPointSSEMultipleFaults, D_ExceptionCodeKind_Win32FloatingPointSSEMultipleFaults,
D_ExceptionCodeKind_Win32FloatingPointSSEMultipleTraps, D_ExceptionCodeKind_Win32FloatingPointSSEMultipleTraps,
D_ExceptionCodeKind_Win32AssertionFailed, D_ExceptionCodeKind_Win32AssertionFailed,
D_ExceptionCodeKind_Win32ModuleNotFound, D_ExceptionCodeKind_Win32ModuleNotFound,
D_ExceptionCodeKind_Win32ProcedureNotFound, D_ExceptionCodeKind_Win32ProcedureNotFound,
D_ExceptionCodeKind_Win32SanitizerErrorDetected, D_ExceptionCodeKind_Win32SanitizerErrorDetected,
D_ExceptionCodeKind_Win32SanitizerRawAccessViolation, D_ExceptionCodeKind_Win32SanitizerRawAccessViolation,
D_ExceptionCodeKind_Win32DirectXDebugLayer, D_ExceptionCodeKind_Win32DirectXDebugLayer,
D_ExceptionCodeKind_COUNT, D_ExceptionCodeKind_COUNT,
} D_ExceptionCodeKind; } D_ExceptionCodeKind;
global B32 DEV_always_refresh = 0; global B32 DEV_always_refresh = 0;
global B32 DEV_simulate_lag = 0; global B32 DEV_simulate_lag = 0;
global B32 DEV_draw_ui_text_pos = 0; global B32 DEV_draw_ui_text_pos = 0;
global B32 DEV_draw_ui_focus_debug = 0; global B32 DEV_draw_ui_focus_debug = 0;
global B32 DEV_draw_ui_box_heatmap = 0; global B32 DEV_draw_ui_box_heatmap = 0;
global B32 DEV_eval_compiler_tooltips = 0; global B32 DEV_eval_compiler_tooltips = 0;
global B32 DEV_eval_watch_key_tooltips = 0; global B32 DEV_eval_watch_key_tooltips = 0;
global B32 DEV_cmd_context_tooltips = 0; global B32 DEV_cmd_context_tooltips = 0;
global B32 DEV_updating_indicator = 0; global B32 DEV_updating_indicator = 0;
struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] = struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
{ {
{&DEV_always_refresh, str8_lit_comp("always_refresh")}, {&DEV_always_refresh, str8_lit_comp("always_refresh")},
{&DEV_simulate_lag, str8_lit_comp("simulate_lag")}, {&DEV_simulate_lag, str8_lit_comp("simulate_lag")},
{&DEV_draw_ui_text_pos, str8_lit_comp("draw_ui_text_pos")}, {&DEV_draw_ui_text_pos, str8_lit_comp("draw_ui_text_pos")},
{&DEV_draw_ui_focus_debug, str8_lit_comp("draw_ui_focus_debug")}, {&DEV_draw_ui_focus_debug, str8_lit_comp("draw_ui_focus_debug")},
{&DEV_draw_ui_box_heatmap, str8_lit_comp("draw_ui_box_heatmap")}, {&DEV_draw_ui_box_heatmap, str8_lit_comp("draw_ui_box_heatmap")},
{&DEV_eval_compiler_tooltips, str8_lit_comp("eval_compiler_tooltips")}, {&DEV_eval_compiler_tooltips, str8_lit_comp("eval_compiler_tooltips")},
{&DEV_eval_watch_key_tooltips, str8_lit_comp("eval_watch_key_tooltips")}, {&DEV_eval_watch_key_tooltips, str8_lit_comp("eval_watch_key_tooltips")},
{&DEV_cmd_context_tooltips, str8_lit_comp("cmd_context_tooltips")}, {&DEV_cmd_context_tooltips, str8_lit_comp("cmd_context_tooltips")},
{&DEV_updating_indicator, str8_lit_comp("updating_indicator")}, {&DEV_updating_indicator, str8_lit_comp("updating_indicator")},
}; };
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern String8 d_entity_kind_code_name_table[12]; extern String8 d_entity_kind_code_name_table[12];
extern String8 d_entity_kind_display_string_table[12]; extern String8 d_entity_kind_display_string_table[12];
extern U32 d_exception_code_kind_code_table[38]; extern U32 d_exception_code_kind_code_table[38];
extern String8 d_exception_code_kind_display_string_table[38]; extern String8 d_exception_code_kind_display_string_table[38];
extern String8 d_exception_code_kind_lowercase_code_string_table[38]; extern String8 d_exception_code_kind_lowercase_code_string_table[38];
extern B8 d_exception_code_kind_default_enable_table[38]; extern B8 d_exception_code_kind_default_enable_table[38];
C_LINKAGE_END C_LINKAGE_END
#endif // DBG_ENGINE_META_H #endif // DBG_ENGINE_META_H
+17 -3
View File
@@ -111,10 +111,14 @@ lnk_file_open_with_rename_permissions(String8 path)
internal B32 internal B32
lnk_file_set_delete_on_close(File handle, B32 delete_file) lnk_file_set_delete_on_close(File handle, B32 delete_file)
{ {
B32 is_set = 0;
#if OS_WINDOWS #if OS_WINDOWS
FILE_DISPOSITION_INFO file_disposition = {0}; FILE_DISPOSITION_INFO file_disposition = {0};
file_disposition.DeleteFile = (BOOL)delete_file; file_disposition.DeleteFile = (BOOL)delete_file;
B32 is_set = SetFileInformationByHandle((HANDLE)handle.u64[0], FileDispositionInfo, &file_disposition, sizeof(file_disposition)); is_set = SetFileInformationByHandle((HANDLE)handle.u64[0], FileDispositionInfo, &file_disposition, sizeof(file_disposition));
#elif OS_LINUX
// no equivalent
is_set = 1;
#else #else
# error "TODO: file rename" # error "TODO: file rename"
#endif #endif
@@ -125,6 +129,7 @@ internal B32
lnk_file_rename(File handle, String8 new_name) lnk_file_rename(File handle, String8 new_name)
{ {
Temp scratch = scratch_begin(0,0); Temp scratch = scratch_begin(0,0);
B32 is_renamed = 0;
#if OS_WINDOWS #if OS_WINDOWS
String16 new_name16 = str16_from_8(scratch.arena, new_name); String16 new_name16 = str16_from_8(scratch.arena, new_name);
@@ -137,9 +142,18 @@ lnk_file_rename(File handle, String8 new_name)
rename_info->FileNameLength = new_name16.size * sizeof(new_name16.str[0]); rename_info->FileNameLength = new_name16.size * sizeof(new_name16.str[0]);
MemoryCopy(rename_info->FileName, new_name16.str, new_name16.size * sizeof(new_name16.str[0])); MemoryCopy(rename_info->FileName, new_name16.str, new_name16.size * sizeof(new_name16.str[0]));
B32 is_renamed = SetFileInformationByHandle((HANDLE)handle.u64[0], FileRenameInfo, buffer, buffer_size); is_renamed = SetFileInformationByHandle((HANDLE)handle.u64[0], FileRenameInfo, buffer, buffer_size);
#else #else
#error "TODO: file rename" char fd_proc_path[128];
raddbg_snprintf(fd_proc_path, sizeof(fd_proc_path), "/proc/self/fd/%d", (int)handle.u64[0]);
U64 path_max = 4096;
char *path = push_array(scratch.arena, char, path_max);
ssize_t path_size = readlink(fd_proc_path, path, path_max);
if (path_size > 0) {
is_renamed = rename(path, (char *)push_cstr(scratch.arena, new_name).str) == 0;
}
#endif #endif
scratch_end(scratch); scratch_end(scratch);
return is_renamed; return is_renamed;
+2 -2
View File
@@ -10513,10 +10513,10 @@ rd_ipc_make_reply_source_location_from_address(Arena *arena, U64 vaddr)
{ {
Temp scratch = scratch_begin(&arena, 1); Temp scratch = scratch_begin(&arena, 1);
D_Entity *process = d_entity_from_handle(&d_user_state->ctrl_entity_store->ctx, rd_base_regs()->process); D_Entity *process = d_entity_from_handle(rd_base_regs()->process);
if(process == &d_entity_nil) if(process == &d_entity_nil)
{ {
D_Entity *thread = d_entity_from_handle(&d_user_state->ctrl_entity_store->ctx, rd_base_regs()->thread); D_Entity *thread = d_entity_from_handle(rd_base_regs()->thread);
process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process); process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
} }