Diagnose and debug graphs

As you work with complex graphs, you are likely to run into problems that require diagnosis and debugging. There are some basic tools that can help with this task.

Diagnostic node colors

Nodes with problems are highlighted in different colors. If the highlighted node is a compound, enter it to see which of its internal nodes have problems.

Errors and warnings

Hover the pointer over a node to see the full message in the Info Bar.

Set watchpoints on connections

Watchpoints let you see information about the values flowing along connections.

To add a watchpoint, right-click on a connection and choose Set Watchpoint. You can hide or display the data by clicking the eye icon.

Detached watchpoint

You can detach a watchpoint from its connection wire by dragging its eye icon or the table header anywhere in the graph view. The table is joined to the wire to show which data is dispayed.

To return the watchpoint to the wire, double-click the eye icon. You can also remove the watchpoint itself by Alt+Shift+dragging across the dotted line. Alternatively, right-click the eye icon and choose an option.

After adding a watchpoint, it is empty until the graph gets executed again. You can force a graph to be executed by changing an input, or advancing a frame in the case of a simulation.

Watchpoints update only when data flows through the connection. Watchpoints are not updated if they are on connections that do not lead to a graph output, or if they are not evaluated because of an if node.

The information shown by a watchpoint depends on the type of data:

Note:

Watchpoints do not update when cached playback is in use in Maya.

Dump object data to a text file

When the information that watchpoints provide for an object is not enough, you can output the object's information to a text file.

  1. Add a dump_object node to the graph.
  2. Specify the filename.
  3. Set sample_size to the maximum number of items to include from arrays. This prevents huge files from large objects.
  4. Connect the object that you want to output to text to the object input.
  5. Connect the out_object output as an output of the graph. Typically, you can simply replace the original connection from the upstream node.

Dump object

At least one output of the dump_object must lead to a graph output, or else the node does not get executed.