Update the 'Debugging' section of the readme

This commit is contained in:
Robbert van der Helm
2020-07-30 19:40:08 +02:00
parent 5340f4c59d
commit 6ee2c5c787
+21 -19
View File
@@ -497,29 +497,31 @@ the `*-32.exe` variant accordingly.
## Debugging ## Debugging
Wine's error messages and warning are usually very helpful whenever a plugin Wine's error messages and warning are usually very helpful whenever a plugin
doesn't work right away. Sadly this information is not always available. Bitwig, doesn't work right away. However, with some VST hosts there is no way to inspect
for instance, hides a plugin's STDOUT and STDERR streams from you. To make it a plugin's output. Bitwig, for instance, hides a plugin's STDOUT and STDERR
easier to debug malfunctioning plugins, yabridge offers these two environment streams after the plugin scanning process. To make it easier to debug
variables: malfunctioning plugins, yabridge offers these two environment variables to
control yabridge's logging facilities:
- `YABRIDGE_DEBUG_FILE=<path>` allows you to write the Wine VST host's STDOUT - `YABRIDGE_DEBUG_FILE=<path>` allows you to write yabridge's debug messages as
and STDERR messages to a file. For instance, you could launch your DAW with well as all output produced by the plugin and by Wine itself to a file. For
`env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log <daw>`, and then use `tail -F /tmp/yabridge.log` instance, you could launch your DAW with
to keep track of that file. If this option is not present then yabridge will `env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log <daw>`, and then use
write all of its debug messages to STDERR instead. `tail -F /tmp/yabridge.log` to keep track of the output. If this option is not
present then yabridge will write all of its debug output to STDERR instead.
- `YABRIDGE_DEBUG_LEVEL={0,1,2}` allows you to set the verbosity of the debug - `YABRIDGE_DEBUG_LEVEL={0,1,2}` allows you to set the verbosity of the debug
information. Each level increases the amount of debug information printed: information. Each level increases the amount of debug information printed:
- A value of `0` (the default) means that yabridge will only write messages - A value of `0` (the default) means that yabridge will only log the output
from the Wine process and some basic information such about the plugin being from the Wine process the Wine process and some basic information about the
loaded and the Wine prefix being used. environment, the configuration and the plugin being loaded.
- A value of `1` will log information about most events and function calls - A value of `1` will log detailed information about most events and function
sent between the VST host and the plugin. This filters out some noisy events calls sent between the VST host and the plugin. This filters out some noisy
such as `effEditIdle()` and `audioMasterGetTime()` since those are sent tens events such as `effEditIdle()` and `audioMasterGetTime()` since those are
of times per second by for every plugin. sent multiple times per second by for every plugin.
- A value of `2` will cause all of the events to be logged, including the - A value of `2` will cause all of the events to be logged without any
events mentioned above. This is very verbose but it can be crucial for filtering. This is very verbose but it can be crucial for debugging
debugging plugin-specific problems. plugin-specific problems.
More detailed information about these debug levels can be found in More detailed information about these debug levels can be found in
`src/common/logging.h`. `src/common/logging.h`.