Debugging DTPs is very easy. There is an option in the Execute tab of the DTP that allows you to execute it in a Dialog Process and debug it (screen-shot). You may even set breakpoints.
How about InfoPackages?
If you have a routine in the InfoPackage, you may insert the “manual” BREAK_POINT in the code. For more general situations, you may proceed with the following steps.
1- Set the InfoPackage scheduler to “Start Later in Background”.
2- The Scheduling Options window will open. Just set to “Immediate” and save.
3- Now, you need to set a debugging user for the system, so that the process will stay “on hold”, until you start debugging it in SM50. You may either go to RSA1 -> Global settings and change the field “Debugging User” to the user that is going to run the InfoPackage (BW Remote user)…
… or go directly to the table RSADMINA in SE16 and change it.
Caution: When you set this user, all processes running by it will stop and wait for manual intervention on sm50.
4- Start the InfoPackage.
5- Quickly go to SM50 find the work process and debug it.