// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page creator-how-to-enble-debugging.html
    \previouspage creator-how-tos.html

    \ingroup creator-how-to-projects
    \ingroup creator-how-to-build

    \title Enable debugging

    Specify settings for running applications on the \l {Kits}{Run device} that
    you select for a kit in \uicontrol Projects > \uicontrol {Build & Run} >
    \uicontrol Run > \uicontrol {Run Settings}.

    \image {qtquick-debugger-settings.webp} {Debugger Settings section in Run Settings}

    To select the languages to debug, select \uicontrol Automatic
    or \uicontrol Enabled in \uicontrol {Debugger Settings} >
    \uicontrol {C++ debugger}, \uicontrol {QML debugger}, or
    \uicontrol {Python debugger}.

    \section1 Debug C++

    In \uicontrol {Additional startup commands}, you can enter
    additional settings for debugging C++:

    \list
        \li \l{Adding Custom Debugging Helpers}{Custom debugging helpers}
        \li \l{GDB}{GDB commands} to execute after GDB
            has started, but before the debugged program is started or
            attached, and before the debugging helpers are initialized
    \endlist

    However, you can usually leave this field empty.

    \section1 Debug Qt Quick

    Opening a socket at a well-known port presents a security risk. Anyone
    on the Internet could connect to the application that you are debugging and
    execute any JavaScript functions. Therefore, make sure that the
    port is properly protected by a firewall.

    To create a build configuration that supports debugging for a
    Qt Quick application project, you also need to \l {Using default values}
    {enable QML debugging} either globally or in the \uicontrol {Build Settings}
    of the project.

    \sa {Configuring Projects}, {Debug}{How To: Debug}, {Debugging},
    {Debuggers}, {Debugger}
*/
