Functionality exposed by a module cannot be debugged while debugging a module that consumes this functionality, since it's treated like a black-box. This has the following implications:
- You cannot step into and debug inside the functionality from the producer module;
- You can only inspect the input and output values sent to and received from the functionality from the producer module.
To debug a functionality in a producer module you should follow the steps presented below. Note that when you are debugging a producer module the debugger will not stop in any breakpoints set in the consumer module.
Your consumer module must fulfill the following conditions:
- It must be a consumer of the producer module by referencing it directly or indirectly;
- It must be up-to-date with the producer module, i.e. the reference to the producer module must have been refreshed;
- You have permissions to publish the consumer module.
Debug the Producer Module
To debug the functionality being exposed by the producer module, do the following:
In the producer module, open the Debugger menu and choose the "Select Entry Module..." option;
Choose the consumer module from the list;
Note: if the desired consumer is not in the list, check the pre-requisites listed above.
Place breakpoint(s) where you want the execution to stop;
Start the debugger either by choosing "Run and Debug in [login_name] Personal Area" or "Debug in the Public Area" in the Debugger menu (learn more about Public and Personal Areas);
In the consumer module, execute the application and use it;
When functionality from the producer module is executed, the debugger stops at the breakpoint(s) that you defined in the producer module.