# Debugging an existing held job

When you start debugging by choosing to debug an existing job, you can specify a job that is active, on hold, or in a job queue that is on hold. The System Debugger automatically performs the necessary steps to release (but not start) a held job or job queue.

When you start debugging operations on a held job, the System Debugger asks you to confirm that you want to release the job or the job queue.

- When you proceed, the System Debugger releases the job but does not start it. Releasing the job enables you to set breakpoints and perform other debugging tasks before you start the program.
- When you cancel, the System Debugger leaves the job or the job queue on hold but does not stop debugging. To continue your debugging session, you have to stop the System Debugger. If you do not want to debug the held job, you may want to manually release the held job or job queue.

In some cases, you may want to manually start a job, put the job on hold (or start the job in a job queue that is on hold), and then begin debugging the program associated with that job.