MAME -verbose vs error.log on Android: capture the right evidence
Use `-verbose` for user-facing configuration and startup diagnostics sent to standard error. Use `-log` when you need MAME core and driver log messages written to `error.log`; `-oslog` additionally routes that log stream to the operating-system diagnostic output. An Android port must explicitly expose or translate these upstream options.
Do this in order
- 01
Record the Android device, port, exact MAME revision, machine short name, and the single failure you will reproduce.
- 02
Audit the authorized machine first so the log is not dominated by an already-known missing-content error.
- 03
Cold-start once with defaults and copy the visible fatal message, time, renderer, audio path, and input state.
- 04
If the port supports it, enable `-verbose` for one clean reproduction and save its standard-error or wrapper log output.
- 05
Enable `-log` only when core or driver messages are needed; locate the new `error.log` in the port's documented working directory and correlate timestamps.
- 06
Restore logging defaults, redact credentials and unrelated private paths, and attach the exact build plus the smallest relevant excerpt when reporting the issue.
Decision and diagnostic table
| Option | Output | Use it for |
|---|---|---|
| -verbose | Diagnostic information on standard error | Configuration, startup, device, and provider context |
| -log | Core/driver messages in error.log | Driver-specific investigation |
| -oslog | error.log stream to OS diagnostics | Capture through a supported system logger |
| Android wrapper log | Port-defined destination | Ports that hide upstream arguments |
Verbose output is the first support artifact
MAME's manual specifically asks bug reporters to run with verbose output. It is aimed at diagnosing configuration and startup context, including the build and detected providers.
error.log is a different stream
The `-log` option writes internal core and system-driver messages to error.log. Not every user failure produces useful driver log output, so do not enable every debug facility at once.
Android controls the destination
A wrapper can redirect standard error, use Android system logging, choose a private working directory, or omit arbitrary arguments. Follow the port's own logging surface before assuming a desktop path exists.
Logs can expose filenames, storage paths, device identifiers, and server details. Redact unrelated personal data and credentials, and never attach unauthorized ROM, BIOS, CHD, artwork, music, or full content archives to a report.