Diagnosing Application Problems with ZOM
ZOM provides many services and features that have been described above for inspecting and manipulating the objects in your application to resolve problems (finding dependent, depending and unreferenced objects and objects that do not exist, for example). In addition, ZOM provides two special services to help you analyze problems in your application:
The ZOMDiagnose command analyzes the objects in your entire application and their interdependencies. Any inconsistencies discovered are reported to you for further action. For example, suppose an attempt to recreate an EntitySet, Employees, has failed, leaving several relationship and role objects that depended on the EntitySet in an invalid state. ZOMDiagnose discovers these problems and reports them to you. A report is presented that itemizes the objects requiring attention. A sample of this report is shown in ZOMDiagnose.
The ZOMViewLog command enables you to browse the ZOM activity log. In the log are progress reports from the ZOM services you have executed as well as any error messages encountered. You can peruse the activity log to discover why certain operations did not succeed.
For example, to find out why the EntitySet mentioned above was not recreated after executing, enter
To inspect the activity log, enter
The error messages in the log lead you to the problem. If many objects were processed, iterate through the objects until all are processed properly.
Note: In the case of creation failures, you can also try to create all objects that do not exist (on the assumption that the create operation failed for these objects), then look at the activity log for all these objects at once. This bulk create can be accomplished by entering