WINE Debugging

At the command line, run $ winecfg.

Set the library overrides for dbghelp to (native, builtin), and accept the warning about overriding this DLL:



If WINE crashes, the back traces may not be correct.

  1. Set dbghelp to native by using winecfg.
  2. Copy the application source code plus executable(s) to your bottle. (The path must be the same as the compiled version; that is:
    If Windows source = C:\Source\SampleApp, under Crossover it must be C:\Source\SampleApp.)
  3. Copy any Side-By-Side assemblies that are used by the application.
  4. Import the source code into Enterprise Architect. (Optional.)
  5. Create a build script on a package.
    Set the path of the application on the Debug tab, and set Use Debugger to Microsoft Native.
  6. Open the Profiler (View | Execution Analyzer | Profiler).
  7. Click on the Launch button (first button on the Profiler window).
    If the sample didn't start, click on the Sampling button (third button on the Profiler window).
  8. Once you have finished profiling, shut down the application (not Enterprise Architect).
  9. View the Sampler report by clicking the View Report button (fifth button on the Profiler window).


  • If you are using MFC remember to copy the debug side-by-side assemblies to the C:\window\winsxs directory.
  • To add a windows path to WINE, modify the Registry entry:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment

Access Violation Exceptions

Due to the manner in which WINE handles direct drawing and access to DIB data, an additional option is provided on the Debug window toolbar drop-down menu to ignore or process access violation exceptions thrown when your program directly accesses DIB data.


Select this option to catch genuine (unexpected) access violations; deselect it to ignore expected violations. As the debugger cannot distinguish between expected and unexpected violations, you might have to use trial and error to capture and inspect genuine program crashes.