You can view and diagnose errors and warnings generated by your model using the Diagnostic Viewer. The Diagnostic Viewer displays three types of diagnostic messages: errors, warnings, and information. A model generates these messages during a runtime operation, like model load, simulation, or update diagram.
You can dock the diagnostic viewer to a model to view diagnostics specific to the model or you can have a standalone diagnostic viewer to view the diagnostics of all the models.
To dock the diagnostic viewer to a model, go to Debug > Diagnostics > Docked Diagnostic Viewer or go to Modeling > Environment > Simulink Preference > Editor > Use docked Diagnostic Viewer.
Docking the diagnostic viewer is a system-wide operation. You cannot change the preferences model-wise.
The diagnostic viewer window is divided into:
Toolbar menu: Displays various commands to help you manage the diagnostic messages. For more information, see Toolbar.
Diagnostic Message pane: Displays the error, warning, and information messages. For more information, see Diagnostic Message Pane.
Suggested Actions: Displays suggestions and fixes to correct the diagnostic errors and warnings. For more information, see Suggested Actions.
To manage the diagnostic messages, use the Diagnostic Viewer toolbar.
|View all error messages|
|View all warning messages|
|View all information messages|
|Search messages for specific keywords and navigate between messages|
||The time and the events appear in this drop-down. You can view diagnostic messages specific to an event by clicking on the event.|
You can right-click anywhere inside the messages to save or copy the messages specific to the event.
|Group similar warnings. Set maximum number of models to display in tabbed panes and the maximum number of events to display per model|
Diagnostic Message Pane
The diagnostic message pane displays the error, warning, and information messages in a tabbed format. These messages are color-coded for distinction and are hierarchical.
A new stage is generated for each successive event, you can save or clear stage. Each stage represents a single event such as model load, update diagram, or simulation.
Different types of diagnostic messages are:
Information message: Displays the information related to a model load. Information messages are marked as .
High priority warning: Displays the errors encountered during model load as a high priority warning. Any subsequent operation, like update on the model without rectifying the high priority warning messages are marked as errors. High priority warnings are marked as .
Warning: Displays the warnings associated during an operation on a model. Warnings are marked as .
Error: Displays the errors associated during an operation on a model. Errors are marked as .
To locate the source of error, click the hyperlink in the message. The source of error in the model is highlighted.
Trace Diagnostics Location
The Diagnostic Viewer can trace the location of an error so that you can investigate the
errors in your model easily. If the error is in a file that is being called from another
file, the diagnostic shows up as an expandable stack. You can expand or collapse the stack,
as required. Expanding the stack displays information about the file and the line in which
the error or warning is located. You can click any of the links to go the error or warning.
You can also see the same diagnostic message with stack trace enabled, while using the
sim command in MATLAB®.
Tracing the exact location of an error is not applicable for protected files.
Identify Diagnostics from Custom Compilers
Diagnostic viewer can recognize errors and warnings from builds generated by custom compilers. You can specify compiler-specific patterns using the following directives:
% Here tool is the buildtool obtained from the toolchain tool.setDirective ('WarningPattern','warning #(\d+):'); %Specifies warning patterns tool.setDirective ('ErrorPattern','error:'); %Specifies error pattern tool.setDirective ('FileNamePattern','[^\s]*\w+\.(c|h)'); %Specifies file name pattern tool.setDirective ('LineNumberPattern','\(\d+\)'); %Specifies line number pattern
For more information about creating a
ToolchainInfo object, see Register Custom Toolchain and Build Executable (Simulink Coder).
You can suppress certain numerical diagnostics (for example, overflow, saturation,
precision loss) for specific objects in your models from the Diagnostic Viewer. You can also
suppress certain errors that have the diagnostic level set to
error in the Diagnostics section of the
Model Configuration Parameters. You can add a comment for the suppressed diagnostics.
To suppress a diagnostic from the specified source, click Suppress in the Diagnostic Viewer. Add appropriate comments to the suppressed diagnostic.
To view the suppressed diagnostic, on the Debug tab, click Diagnostics > Suppression Manager. To restore the suppressed diagnostic, select Restore. Diagnostic suppressions are saved with the model and persist across sessions.
The Suppression Manager displays the model name, suppression location, last modified details, and comments of the diagnostic in tabular format. Select the diagnostic to restore a diagnostic or move a diagnostic to the parent level from the block level (Add to Parent Level). You can add or edit inline comments against a diagnostic. Use the global Filter option to filter or search among the diagnostic messages, suppression location, and comments. You can also select multiple diagnostics and leave a global comment.
For more information, see Suppress Diagnostic Messages Programmatically.
Diagnostic viewer provides suggestions and fixes for diagnostic error and warning messages. These suggestions and fixes are provided in the Suggested Actions section of diagnostic message pane.
A diagnostic error or warning can have multiple fixes and suggestions. Each fix is associated with a Fix button.
You can click the Fix button for the most suitable fix to rectify the error automatically. In some cases, you can provide the fix by one of these ways:
Enter the values in the available edit boxes.
Select a value from one of the listed values from a combo box.
The Fix buttons for a diagnostic error or warning are no longer available after a fix is successfully applied. If a fix was unsuccessful, a failure message is displayed in the Suggested Actions section.
Suggestions are provided for errors and warnings that cannot be fixed automatically.
The Suggested Actions section is available only for the diagnostic errors or warnings that have a predefined fix.