Bugs

Please report bugs in zugbruecke in zugbruecke’s GitHub issue tracker.

Please report bugs in ctypes in the Python tracker.

Please report bugs in Wine in the WineHQ Bug Tracking System.

Make sure to separate between zugbruecke-related, ctypes-related and Wine-related bugs.

How to bisect issues

zugbruecke is based on a session model. Each session can be launched with parameters, which can either be passed into or picked up from a configuration file by the session constructor. It is also possible to change parameters during run-time.

If you want to increase the log level during run-time, you can do the following:

import zugbruecke.ctypes as ctypes
# work with zugbruecke
ctypes._zb_set_parameter({'log_level': 10})
# proceed as usual - with a lot more verbosity

A custom session can be manipulated in a similar way:

from zugbruecke import ctypes_session
a = ctypes_session()
# work with zugbruecke through session "a"
a._zb_set_parameter({'log_level': 10})
# proceed as usual - with a lot more verbosity

Alternatively, you can drop a configuration file named .zugbruecke.json into your current working directory or zugbruecke’s configuration directory (likely ~/.zugbruecke) and add configuration parameters to it, for example:

{"log_level": 10, "log_write": true}

The higher the log level, the more output you will get. Default is 0 for no logs. The on-screen log is color-coded for readability. The log can also, in addition, be written to disk, where every log item with plenty of meta data is represented as a one-line JSON object for easy parsing and analysis of larger log files.

For more configuration options check the chapter on configuration.

As an alternative approach, you can also check what happens if you run your code directly in a Windows Python interpreter with ctypes. Consult the chapter on the Wine Python environment for details. It is easy to get ctypes syntax wrong, so this is a good approach for getting it right.

If in doubt, please also test your code with ctypes on an actual Windows system - it might be a bug in this module as well.