Windows 11.  Oracle Database 23ai FREE.
Sample code.
create or replace procedure plsql_settings 
  authid current_user is 
begin 
  sys.dbms_output.enable; 
  sys.dbms_output.put_line(' Session Initialization'); 
  for r in ( 
  select NAME, VALUE  from V$PARAMETER where name LIKE 'plsql%' 
) loop 
   sys.dbms_output.put_line(rpad(upper(r.name),40)||r.value); 
  end loop; 
end;
Compile using (2) different techniques for DEBUG.
1. Click Compile for Debug icon
RUN below query shows both aliased columns PL_SQL_DEBUG_…
as FALSE.
Note: The SCRIPT_OUTPUT compiler messages are different for both techniques.
2.  Execute
ALTER PROCEDURE PLSQL_SETTINGS COMPILE DEBUG;
RUN below query shows both aliased columns PL_SQL_DEBUG_…
as TRUE.
Does this inconsistency affect the Debugger runtime behavior?
SELECT u.name 
, u.type 
, u.plsql_debug as "PL_SQL_DEBUG_USER" 
, d.plsql_debug as "PL_SQL_DEBUG_DBA" 
, u.plsql_optimize_level 
, u.plsql_code_type 
FROM USER_PLSQL_OBJECT_SETTINGS u 
, DBA_PLSQL_OBJECT_SETTINGS d 
where u.NAME = 'PLSQL_SETTINGS' 
and u.NAME = d.NAME;