I have already written one blog How to persist the ui exception so you can view them later, the idea is after you spend little effort to create your own UI error handler and a new transparent table, the UI exception will be recorded into your own table, and you can view them at any time. ( just the similar logic as ST22 )
Sometimes once an UI exception occurs, you will not see an empty page but instead a time out error page. This blog explains why and how you will see the timeout error page.
This blog will show another small tip to accelerate your trouble shooting process against empty screen issue. In the end part of it I also raise an open question which is related to the discussed empty screen issue and I have not got answer so far.
When clicking object ID hyperlink:
Then empty screen is displayed:
set breakpoint on method WRITE_ERROR_PAGE of class CL_BSP_WD_ERROR_PAGE_WRITER:
relaunch the application and breakpoint triggers. If current client is not set up as productive client, the code will go to the first IF branch.
The client type detection is done in the class constructor via FM TR_SYS_PARAMS.
Since normally the client type could only be changed by system admin, so you can put cursor on line 17 and click Shift + F12 to force the code to move to the second IF branch. Click F8 and the error information is displayed.
I develop a sample BSP and raise exactly the same exception deliberately there in another system.
Instead of seeing the empty screen, I get the following error page with detailed information:
I try to find the switch & logic to control how the detailed error page or empty screen is chosen to display.
Unfortunately I didn't find the answer so far. The only finding is that when the exception is raised in ABAP backend, I observed a HTTP 500 error in HTTP watch.
And there are lots of insert operation on ST22 table SNAP in ST05 trace.
however by clicking button "Display ABAP call location", I could not see the corresponding INSERT statement in ABAP editor, but just automatically navigate to the line below:
Perhaps the logic to make choice between error detail page and empty page for display is not done in ABAP side at all.