In the debugger, go throw each statement in the TRY. At some point one will raise the exception. (You don't have to single step(F8) - you can use Execute (F6). When this happens, you'll see in the tool bar some new buttons.
Option 1
Click on Last Exception Object. This will show you the exception object that was raised - something like {O:8\CLASS=CX...}
Click on the object, and you'll get all its attributes. You'll see CX_ROOT
You can compare these with CX_SY_DYN_CALL_PARAM_NOT_FOUND viewed through SE24. If you look at CX_ROOT->TEXTID it will have a hex string value. Find this in the constants of the exception class and you'll know what the text represents. E.g. FUNCTION_PARAM_NOT_FOUND. You can then look in the texts tab to see what it means. E.g. Call of the function &FUNCTION& failed; the formal parameter &PARAMETER& does not exist
Then in debug lookup the value of function and parameter (in this example) in the exception object.
Option 2
Click on display trigger location. This will show you where the exception was thrown. Set and save a break point here, re-run your code, and you'll be able to see the values associated with what was thrown.
Option 3
Catch the exception into a variable, and look at the value of the variable in debug.
TRY.
.......
CATCH cx_root INTO DATA(error).
WRITE 'Exception during processing'.
ENDTRY.
Look at error in debug and you'll see all it's attributes. Just like on option 1.