Running the analyzer¶
This chapter is about getting from a packaged release tarball (or a
fresh local build) to a working visao invocation on each
supported host. Everything below applies regardless of which
Operating modes you intend to use; the mode-specific guidance lives on
the linked pages.
Per-OS guides¶
Run on Linux: unpack,
PATHsetup, runtime layout.Run on Windows: installer notes, Windows-specific points (the
--separator, system headers).Run through Docker: running the analyser from a packaged container image. This gives a reproducible CI run.
First-run checklist¶
After visao is on PATH, the recommended one-time setup:
Install the host compilers you want Visao to probe. These are gcc, clang, MSVC clang-cl and Go, whichever apply. Visao searches the directories of
PATH.Warm the toolchain cache once. This pays the probe cost upfront so the first real run is not delayed:
visao --update-toolchainsSmoke-test with a trivial source:
echo 'int main(void) { return 0; }' > /tmp/hello.c visao --language c /tmp/hello.c
The run prints dim engine progress, an empty Reports block, and a one-line
✓ Finished successfully · NNN msfinal status.
Environment variables¶
These influence runtime behaviour without changing any flags:
NO_COLORDisable ANSI colour output (standard, any value).
VISAO_DISABLE_COLORS=ySame, legacy variant. Used by
tools/run_openvef.sh.VISAO_DETAILED_TOOLCHAIN=yVerbose probe diagnostics (every command line, every match attempt). Use when probing fails or matches the wrong compiler.
VISAO_ABORT_ON_FAILURE=yConvert assertion failures into
abort(). Helpful for capturing crash backtraces.
User-level state¶
The analyser keeps two pieces of state under the user’s config directory:
$XDG_CONFIG_HOME/visao/tccache.txt(or$HOME/.config/visao/tccache.txt;%APPDATA%\visao\tccache.txton Windows). This file holds the toolchain probe cache in a plain-text key/value format. You can delete it. The next probing run writes it again.The temporary probe device is
/dev/nullon Unix andNULon Windows. A probe writes nothing to disk.
Neither file holds source code or analysis results. The analyser keeps no other state between runs.