Debugging
Even skilled FME users seldom produce new workspaces with zero defects. For that reason, it's important that all users are aware of the debugging techniques available in FME.
Debugging Methodology
Generally, debugging in FME consists of first determining whether a problem has occurred and then tracking down the source of the problem (i.e., where in the workspace does it occur). Once it's determined where a problem occurs, the nature of the problem can be investigated.
There are various debugging techniques available in FME, and it's important to use these in the correct order. For example, it's not particularly useful to change parameters and re-run the workspace when a simple log message already explains the issue!
A logical order would be:
- Check for any problem
- Interpret the log for warnings and errors
- Inspect the output datasets
- Locate the problem
- Review connection feature counts
- Inspect the data at key stages of the translation
- Determine the problem
- Check reader, writer, or transformer parameters at the point of failure
- If necessary, run the workspace in feature debug mode
Dr. Workbench says... |
In the world of software development, debugging a process after completion is called "post-mortem debugging"! We're trying to find out what caused a fatality.
If we can't determine the cause by post-mortem, we'll re-run the process with various tracing options turned on. We can call that "interactive debugging." |