What to do when your app is consistently crashing

Windows

If you experience application crashes you may be asked by support to create a crash dump file. Crash dumps are created automatically by Windows if the following registry key is present:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

In order to help support troubleshoot your problem please do the following: 1. Create the registry key LocalDumps if it is not present already. Recent versions of Xojo automatically add this key for you.

  1. Reproduce the problem (i.e. make the application crash).

  2. Locate the crash dump file in %LOCALAPPDATA%\CrashDumps. Note that if the crashing application runs under the System account, that resolves to C:\Windows\System32\config\systemprofile\AppData\Local\CrashDumps.

  3. Attach the crash dump file to a bug report.

This works on all versions of Windows starting with Vista and Server 2008.

The DebugView utility might also be helpful to capture and view app crash information.

Linux

On Linux, whenever an app crashes (most commonly by a segmentation fault, i.e. when accessing a bad pointer/memory), it has the option of generating a core dump. In most cases though, this core dump generation is disabled by default. A core dump is a file which contains the program's running state at the point of the crash. It also contains a snapshot of all the virtual memory areas accessed by your app, so there can be confidential information stored in a core dump -- be careful who you give it to.

To enable core dumps on Linux varies by distro as is often the case. These steps assume a Linux distro that has a running Terminal using bash (for example, Ubuntu distros running Gnome desktop manager). To start, you need to tell the system how big of a core dump to allow. To do this, type the following line in your Terminal:

ulimit -c unlimited

By default, this value is 0, which is why the core dump is never generated. Executing the above line in a bash Terminal will allow the core dump to be generated for that Terminal session. The “unlimited” parameter tells the system not to restrict the size of the core dump file. Now assume you have an app that does crash, run that application from this Terminal session (type it's name at the prompt) and wait for it to crash.

After the apps crashes, you should see a “core” file generated in the current directory (however, depending on your configuration this may be located elsewhere).

Attach the core dump file to a bug report.

See also

How to Take a Core Dump blog post