Compiling with crash reporter support
Starting from the 3.0.3 version, MuseScore has a built-in crash reporter based on Google Breakpad and libcrashreporter-qt that is able to handle crashes and gives a possibility for a user to send crash reports to the pre-defined URL. Below are the instructions on how to use or disable this crash reporting facility.
Enabling or disabling crash reporter
By default, the crash reporter facility is disabled on master
branch and is enabled for release branches on Windows. If you would like to change it, it can be done by changing BUILD_CRASH_REPORTER
CMake variable. The following options are available for this:
1) If you use CMake directly, just add -DBUILD_CRASH_REPORTER=ON
(or OFF
) option:
cmake -DBUILD_CRASH_REPORTER=ON ..
2) If you use the supplied Makefile or msvc_build.bat script, add that option to that script to the cmake
command invocations.
3) You can also edit CMakeCache.txt in the build.debug or build.release directory and change the BUILD_CRASH_REPORTER
value, either manually or with cmake-gui. After editing it the following builds should use the value defined in CMakeCache.txt.
Compiling with crash reporter support
libcrashreporter-qt
is stored in the MuseScore git repository as a submodule. If you cloned the source code from the repository you may need to pull that submodule. Use the following command to do it:
git submodule update --init --recursive
By default, the crash reporter sends crash reports to http://127.0.0.1:1127/post
which may be useful while debugging it with a local copy of something like mini-breakpad-server. In order to change it edit the CRASH_REPORT_URL
CMake variable as described above.
In order for crash reports to be more useful you should extract debugging symbols for the binaries using dump_syms
tool from Breakpad. Please refer to the Breakpad documentation for more details on how to do it. In brief, the process is approximately as follows:
1) Ensure that your compiler generates debugging information (e.g. add the appropriate compiler flags or use the appropriate build types like Debug or RelWithDebInfo).
2) Run dump_syms on the compiled binary (or on the separate debugging symbols file if available):
dump_syms build.release/mscore/mscore > mscore.sym
or
dump_syms.exe mscore\RelWithDebInfo\MuseScore3.pdb > MuseScore3.sym
3) Upload it to a server that is supposed to collect the reports.