Note 573128 - Debugging programs in the background

Note 573128 - Debugging programs in the background


Symptom
How can you debug a program that runs in the background?

Other terms
Background, job


Reason and Prerequisites
Information about troubleshooting


Solution
There are three options:
*1. Select a job in transaction SM37 (2nd screen). In addition, set a breakpoint at the point in the source code that you want to analyze when debugging. In SM37, enter JDBG in the OK code field, and choose ENTER. The selected job is now started in debug mode, and the debugger initially stops in a system program. Choose F8 to continue the job up to the next breakpoint.
Caution: Although the job still appears in SM37 in the previous status after debugging, the entire job (or, more specifically, a copy of it) has run during debugging and possible database changes are effective as a result of the job.


2. You can catch a current background job by using SM37 (Catch active job) or SM50 (Debug program). To do this, you must be logged on to the instance on which the job is running. The job is then stopped, and you can keep it running in the debugger.


3. Use SM36 to create a job with two steps, step 1 with the BTCLOOP report and step 2 with the report to be debugged. Then, set a breakpoint in the step 2 report and release the job.
You can then debug the job in transaction SM50. To do this, exit the endless loop in the BTCLOOP report by changing the variable i.

你可能感兴趣的:(UP)