diff --git a/.gitignore b/.gitignore index 276dc71..ace7598 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ #build files build/ +#VS Code config files. +.vscode/ #settings Testing/ diff --git a/.vscode/launch.json b/.vscode/launch.json index dcf6e77..d459cd3 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,3 +1,9 @@ +// This is the .vscode/launch.json file that I use when debugging. +// Make sure you select the correct debug target in the drop-down at the top of the Debug tab. +// The are launch targets for debugging and testing all major c++ components of PiPedal. +// Copy or merge these targets into your own .vscode/launch.json file, which is +// deliberate ignored by git. + { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. @@ -20,8 +26,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" } @@ -51,8 +55,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" } @@ -79,8 +81,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -119,8 +119,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -156,8 +154,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -191,8 +187,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -232,8 +226,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -275,8 +267,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -316,8 +306,6 @@ "cwd": "${workspaceFolder}", "environment": [ { - // add the directory where our target was built to the PATHs - // it gets resolved by CMake Tools: "name": "PATH", "value": "$PATH:${command:cmake.launchTargetDirectory}" }, @@ -341,9 +329,5 @@ } ] } - - - - ] } \ No newline at end of file diff --git a/sample_vscode_launch.json b/sample_vscode_launch.json new file mode 100644 index 0000000..d459cd3 --- /dev/null +++ b/sample_vscode_launch.json @@ -0,0 +1,333 @@ +// This is the .vscode/launch.json file that I use when debugging. +// Make sure you select the correct debug target in the drop-down at the top of the Debug tab. +// The are launch targets for debugging and testing all major c++ components of PiPedal. +// Copy or merge these targets into your own .vscode/launch.json file, which is +// deliberate ignored by git. + +{ + // 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": "(gdb) generic", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + "args": [ ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "(gdb) pipedal_nm_p2pd", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + "args": [ + "--loglevel", + "trace", + "--systemd-console" + ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + + { + "name": "(gdb) pipedald", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + "args": [ "/etc/pipedal/config", "/etc/pipedal/react", "-port", "0.0.0.0:8080" ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "LD_LIBRARY_PATH", + "value": "/usr/local/lib/aarch64-linux-gnu" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + + { + "name": "(gdb) pipedaltest Launch", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + + "args": [ + //"[Dev]" -- all dev-machine tests. + //"[json_variants]" // subtest of your choice, or none to run all of the tests. + //"[inverting_mutex_test]" + // "[utf8_to_utf32]" + "[wifi_channels_test]" + ], + + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "(gdb) jsonTest Launch", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + + "args": [ + //"[Dev]" -- all dev-machine tests. + //"[promise]" // subtest of your choice, or none to run all of the tests. + "[atom_converter]" + ], + + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + + + { + "name": "(gdb) pipedal_latency_test Launch", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + + "args": [ "--rate", "48000", "hw:KATANA", "-i","0,1","-o","2,3" ], + + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + + { + "name": "(gdb) processCopyrights Launch", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + ///"args": [ "[lv2host_leak]" ], + + "args": [ + "--projectCopyright", + "debian/copyright", + "--output", + "/tmp/copyrights.txt", + "liblilv-0-0", "lv2-dev", "libsdbus-c++-dev", "librsvg2-2", "libpango-1.0-0", "libx11-6", "libxrandr2" + + ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "ASAN_OPTIONS", + "value": "detect_leaks=0" + + }, + + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "(gdb) pipedalconfig", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + "args": [ + "--nosudo", // run without sudo (which will fail because of perms, but allow us to debug deeper into install code.) + //"--get-current-port" + // "--uninstall" + //"--enable-p2p" , "CA", "PiPedalTest","12345678","14" + "--list-p2p-channels" + ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "ASAN_OPTIONS", + "value": "detect_leaks=0" + + }, + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + + { + "name": "(gdb) pipedal_p2pd", + "type": "cppdbg", + "request": "launch", + // Resolved by CMake Tools: + "program": "${command:cmake.launchTargetPath}", + "args": [ + "--config-file", "/etc/pipedal/config/pipedal_p2pd.conf" + , "--trace-messages", "--log-level", "debug", + + ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [ + { + "name": "PATH", + "value": "$PATH:${command:cmake.launchTargetDirectory}" + }, + { + "name": "ASAN_OPTIONS", + "value": "detect_leaks=0" + + }, + { + "name": "OTHER_VALUE", + "value": "Something something" + } + ], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file