{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Unit Test Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${command:cmake.launchTargetPath}",
            "args": [
                "--gtest_break_on_failure"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [
                {
                    // Make sure we suppress the standard asan warnings, otherwise we will crash fast.
                    "name": "ASAN_OPTIONS",
                    "value": "detect_leaks=0:detect_container_overflow=0:detect_odr_violation=0:symbolize=1"
                 },

                {
                    "name": "PATH",
                    "value": "${workspaceFolder}\\build\\lib64;${workspaceFolder}\\build\\lib64\\qt\\lib;;${workspaceFolder}\\build\\lib64\\gles_swiftshaders;"
                }
            ],
            "externalConsole": true
        },
        {
            "name": "(Windows) Emulator Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/qemu/windows-x86_64/qemu-system-x86_64",
            "args": [
                "@P_64",
                "-verbose",
                "-show-kernel"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}\\build",
            "environment": [
                {
                    "name": "ANDROID_SDK_ROOT",
                    "value": "C:\\Users\\EmuTest2\\AppData\\Local\\Android\\Sdk"
                },
                // Make sure we suppress the standard asan warnings, otherwise we will crash fast.
                {
                    "name": "ASAN_OPTIONS",
                    "value": "detect_leaks=0:detect_container_overflow=0:detect_odr_violation=0:symbolize=1"
                },
                {
                    "name": "PATH",
                    "value": "${workspaceFolder}\\build\\lib64;${workspaceFolder}\\build\\lib64\\qt\\lib;;${workspaceFolder}\\build\\lib64\\gles_swiftshaders;"
                }
            ],
            "externalConsole": false
        },
        {
            "name": "(lldb) Debug Cmake Target",
            "type": "lldb",
            "request": "launch",
            // Resolved by CMake Tools:
            "program": "${command:cmake.launchTargetPath}",
            "cwd": "${workspaceFolder}",
            "args": [
                // "--verbose"
              //  "--gtest_repeat=0", "--gtest_break_on_failure"
              // "--benchmark_filter=BM_cnv.*"
            ],
            "env": {
                // Make sure we suppress the standard asan warnings, otherwise we will crash fast.
                "ASAN_OPTIONS": "detect_leaks=0:detect_container_overflow=0:detect_odr_violation=0:symbolize=1"
            },
        },
        {
            "name": "(lldb) Debug Emulator",
            "type": "lldb",
            "request": "launch",
            // Resolved by CMake Tools, but likely should point to qemu-system-i386, or qemu-system-x86_64
            // As there lldb is not capable of following child processes (like gdb can with follow-fork-mode)
            "program": "${command:cmake.launchTargetPath}",
            "args": [
                "@Q", // Pick the image you would like to use
            ],
            "linux": {
                "env": {
                    // Make sure we suppress the standard asan warnings, otherwise we will crash fast.
                    "ASAN_OPTIONS": "detect_leaks=0:detect_container_overflow=0:detect_odr_violation=0:symbolize=1",
                    // Setup the LD_LIBRARY_PATH so we can resolve all the dynamic libs properly.
                    "LD_LIBRARY_PATH": "./lib64:./lib64/gles_mesa:./lib64/gles_swiftshader:./lib64/qt:./lib64/qt/lib:./lib64/qt/plugins:./lib64/qt/plugins/imageformats:./lib64/qt/plugins/iconengines:./lib64/qt/plugins/platforms:./lib64/qt/plugins/platforminputcontexts:./lib64/vulkan",
                    // The default location of ANDROID_SDK_ROOT for most, change this as needed.
                    "ANDROID_SDK_ROOT": "${env:HOME}/Android/Sdk"
                },
            },
            "osx": {
                "args": [
                    "@Q",
                    "-verbose",
                    "-feature",
                    "-HVF",
                    "-no-window",
                    "-gpu",
                    "auto-no-window"
                ],
                "env": {
                    // Make sure we suppress the standard asan warnings, otherwise we will crash fast.
                    "ASAN_OPTIONS": "detect_leaks=0:detect_container_overflow=0:detect_odr_violation=0:symbolize=1",
                    // Setup the LD_LIBRARY_PATH so we can resolve all the dynamic libs properly.
                    "DYLD_LIBRARY_PATH": "./lib64:./lib64/gles_mesa:./lib64/gles_swiftshader:./lib64/qt:./lib64/qt/lib:./lib64/qt/plugins:./lib64/qt/plugins/imageformats:./lib64/qt/plugins/iconengines:./lib64/qt/plugins/platforms:./lib64/qt/plugins/platforminputcontexts:./lib64/vulkan",
                },
            },
            "postRunCommands": [
                "pro handle -p true -s false SIGUSR1",
                "pro handle -p true -s false SIGUSR2"
            ],
            "cwd": "${workspaceFolder}/build",

        },
        {
            // You need root access to attach debugger
            "name": "(lldb) Debug attach Emulator",
            "type": "lldb",
            "request": "attach",
            // Replace this with the process executable you want to attach to
            "pid": 19837, // replace pid with your real pid
            // Ignore signal SIGUSR1
            "postRunCommands": [
                "pro hand -p true -s false SIGUSR1",
                "pro hand -p true -s false SIGUSR2",
            ],
        },
        {
            "name": "(lldb) Debug core dump",
            "type": "lldb",
            "request": "custom",
            "targetCreateCommands": [
                "target create -c ${workspaceFolder}/core"
            ],
        }
    ]
}
