This might not be what you are looking for. But someone posted a cool trick here that I replicated on my systems. It consists of a script object that if executed as the first task of your workflow, will dynamically turn on the breakpoint setting for all of the steps in your active workflow.
It consists of a SCRIPT object and a SQLI_SEC variable.
!Get Parent RUNID
:PSET &WORKFLOW_RUNID# = GET_PARENT_NR(&$RUNID#)
:SET &HND# = PREP_PROCESS_VAR(name.of.SQLI.object.goes.here)
!STOP Workflow
:SET &RET# = MODIFY_TASK(&WORKFLOW_RUNID#, STOP_MODIFY)
!SET Breakpoints on every Task
:PROCESS &HND#
: SET &TASK_NAME# = GET_PROCESS_LINE(&HND#,2)
: SET &TASK_RUNID# = GET_PROCESS_LINE(&HND#,3)
: SET &TASK_TASKNUM# = GET_PROCESS_LINE(&HND#,4)
: SET &RET# = MODIFY_TASK(&WORKFLOW_RUNID#,,&TASK_TASKNUM#, BREAKPOINT, "YES")
: print "RET=&RET#. Setting breakpoint for &TASK_TASKNUM#:&TASK_RUNID#:&TASK_NAME#"
:ENDPROCESS
!COMMIT Changes & Start Workflow
:SET &RET# = MODIFY_TASK(&WORKFLOW_RUNID#, COMMIT)
:SET &RET# = MODIFY_TASK(&WORKFLOW_RUNID#, GO, FORCED)
SQL for the SQLI_SEC object; (You must bind paramter #1 to &WORKFLOW_RUNID#)
select
ejpp_object as child_task_name,
ejpp_taskidnr as child_task_runid,
ejpp_lnr as tasknum
from ejpp
where EJPP_AH_IDNR = ?
and ejpp_taskidnr <> 0
order by ejpp_lnr