» Debugging
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Debugging

Italian | Mandarin | French

Patching pages

Error Console

In vvvv errors typically don't break the system. To see if your program experiences any troubles open a TTY Renderer which acts as vvvv's error console.

In fact it is a good idea to always have a Renderer (TTY) open to be aware of possible problems. Even if you don't understand what a particular error might suggest it may help people on the forum to understand your problem if you post the error there.

Finding erroneous nodes

When the TTY Renderer spits out an error similar to this:

00:00:28 ERR : Exception caused by node during update :/73/245/178/56/101/84

you can find the exact node causing this problem by using the Finder as follows:

The sequence "/73/245/178/56/101/84" in the error message above is a path of node IDs from the root to the actual node causing the problem. In order to find the node you start in the root and type "# 73" into the finder. This will show you the subpatch to open. In this subpatch again you use the finder now to find the second ID from the sequence by typing "# 245" in this example. Continue doing so until you reach the last ID which will point to the erroneous node.

Red nodes

A red node has either of 4 problems:

  • it has an input of type Enumeration that is not available on your PC.
  • it is missing
  • it is the wrong CPU architecture
  • it has a runtime error
Missing Enumeration

In the latter case you'll find the pin colored in red as well and can go there to choose a different value if available. Otherwise you may need to install a driver for the device you're trying to control.

Missing Node

If a node is missing, hovering it with the mouse will bring up a tooltip with the path to the file in which vvvv is expecting the node. You can now look for that file on your system and either:

  • dragdrop it onto any open patch which will cause vvvv to add the path of this file to its searchpaths for this session and the red node will magically be replaced. When now saving the patch this directory will be referenced for the formerly red node.
  • add a new searchpath manually in the Root patch
Wrong CPU architecture

Understand that vvvv and all addons come in two flavours: x86 (=32bit) and x64 (=64bit) and you cannot mix them! On modern PCs you'd typically use the x64 build. Only note that some nodes are missing in 64bit builds which would be a reason to still use the x86 builds.

Runtime Error

A node may be perfectly running for some time and only experience an occasional runtime error, in which case it turns red to indicate its problem and lead you to it. You have different options to deal with such red nodes:

  • ignore them if they don't do your program any harm. vvvv may still be running fine and only hint to you that this could be a problem under certain circumstances
  • sometimes it may help to re-initialize a node using ALT+rightclick on the node. But beware that even though this may help temporarily the problem may return at some later point
  • open Renderer (TTY) and see if there is an error message which you could post on the forum to ask for help
A classic example of a node turning red at runtime is the / (Value) when it computes a division by zero.

A division by zero won't break your program and you can simply ignore it. On the other hand it may give you an interesting hint about another problem in your patch upstream of the node.

Note that some nodes also have a (hidden) Error Handling Style which allows you to choose between coloring the node in red or simply ignoring such situations. Also a (hidden) Success gives you the option to handle an unsuccessful operation in a custom way.

Debug Timing

Framerate

User either of

to keep an eye on your framerate.

Timing of the nodes

CTRL+F9
toggles debug-mode on/off globally.
SHIFT+CTRL+F9
toggles debug-mode on/off affecting only the currently selected nodes.

Colors
  • red: slice count changed
  • green: pin changed
  • blue: pin validated
  • white: changed but not validated
Units

Values are expressed in micro seconds. So a value of 130 means 130µs or 0,13ms.


Consult the Performance page if you're looking for gerneral advice to optimize the performance of your patches.

Debug Spreads

CTRL+F10
toggles spreadcounts debug-mode on/off globally.

A link can have any of 4 styles:

  • dotted: when carrying ø
  • normal: when carrying 1 slice
  • thin: when carrying a slicecount less than half of the patchs maximum spreadcount
  • thick: when carrying a slicecount greater then half of the patchs maximum spreadcount
  • fat: when carrying the patchs maximum spreadcount

We hope this to be specifically usefull when teaching beginners about spreads or hunting for large spreads or ø.

anonymous user login

Shoutbox

~3h ago

Elias: new #vvvv and #vl release: vvvv50beta35.8

~7h ago

dominikKoller: Is there a reason the old Arduino nodes are still not set to Legacy?

~15h ago

dawoof: has anyone used a LEDMX4 pro?

~2d ago

yar: I heard you like raymarching. https://vimeo.com/222084800

~2d ago

tonfilm: very nice @mburk!!! so here is the next task if you have nothing else to do: https://github.com/tebjan/CraftLie/issues/7

~2d ago

sebescudie: such wow! thanks!

~2d ago

mburk: SuperPhong -> SuperPhysical superphysical

~3d ago

tonfilm: also don't forget our #vvvv chat room on #matrix, lot's of people already there: chat-vvvv-on-matrix.org

~3d ago

vasilis: Cool!

~3d ago

metrowave: Nice new layout!