Skip to content

Developer Tools

Josep Maria Antolin edited this page Apr 10, 2020 · 46 revisions

Graphical development tools

It is recommended to use an Integrated Development Environment that works with C++. Mixxx is a large C++ project spread across many files. Without an IDE that can help navigate around code split across multiple files, it can be difficult to understand how the code fits together.

Linux

Windows

macOS

Using IDEs

Debugging Tools

GammaRay

KDAB's GammaRay is a tool for dynamically inspecting applications built with Qt. Its feature set is too long to list, but of particular use for Mixxx development is:

  • The ability to see all current signals/slots being fired by Mixxx, with the ability to jump to the object that is firing them.
  • The ability to inspect the tree of all QObjects that exist, and for each object being able to see its properties, methods and inbound/output connections.
  • The ability to debug the render process of a QWidget, showing you at each step of a QPainter what the widget looks like, including performance details about each step.

Debuggers

Debuggers allow you to inspect the state of Mixxx while its running (and after Mixxx has crashed, via a core dump file).

  • gdb (for gcc)
  • lldb (for Clang)
  • Visual Studio (Windows-only)

Profilers

See profiling.

Command-line Tools

grep / ack / ag / ripgrep

grep is nice for searching files with regexes, but it isn't designed specifically for looking through source code. There are a number of tools that make searching through source repositories much nicer (e.g. they won't go searching in the .git subfolder, or digging through binary files for your regex).

Clone this wiki locally