From c2661853d03def92bc5bb0c011caccedfb45bffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjell=20Hedstr=C3=B6m=20-=20seeking=20Senior=20Engineering?= =?UTF-8?q?=20roles=20as=20well=20as=20contract=20opportunities?= Date: Mon, 27 Nov 2023 21:07:23 -0700 Subject: [PATCH] Codespaces tryout (#507) * adding example vs code launch file --- .vscode/launch.json | 33 +++++++++++++++++++++++++++++++++ docs/codespaces.md | 44 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..77a1bac --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,33 @@ +{ + // 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 + // Remember to build the specific part of cmake with + // mkdir build; cd build + // "cmake -DCMAKE_BUILD_TYPE=Debug .. " if you want to be able to debug it. + // don't forget to inspect the cmake output for more configuration options + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Start", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build/g3log-FATAL-contract", + "MIMode": "gdb", + "cwd": "${workspaceFolder}/build" + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Set Disassembly Flavor to Intel", + "text": "-gdb-set disassembly-flavor intel", + "ignoreFailures": true + } + ] + } + + ] +} \ No newline at end of file diff --git a/docs/codespaces.md b/docs/codespaces.md index 0fc7ef7..966c2a7 100644 --- a/docs/codespaces.md +++ b/docs/codespaces.md @@ -40,4 +40,46 @@ make -j ### Example runs 1. performance test in the container `./g3log-performance-threaded_mean 4` 2. unit tests `ctest -v` -3. Try a fatal example with dumped stack trace `./g3log-FATAL-contract` \ No newline at end of file +3. Try a fatal example with dumped stack trace `./g3log-FATAL-contract` + + +### Example with Debugging. +Without any need to set up environment on your local machine you can also use Codespaces to debug examples, unit tests etc of g3log. +The pesky thing with VSCode, especially with cmake is to set up the launh.json. +It's a little bit easier if you open a VSCode terminal and do the cmake configuration and build there. Then the `launch.json` only needs to +contain information about the pecific executable. + +Here we try out the `g3log-FATAL-contract` after cmake configure with `-DCMAKE_BUILD_TYPE=Debug` +``` +{ + // 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 + // Remember to build the specific part of cmake with + // "cmake -DCMAKE_BUILD_TYPE=Debug" if you want to be able to debug it. + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Start", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build/g3log-FATAL-contract", + "MIMode": "gdb", + "cwd": "${workspaceFolder}/build" + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Set Disassembly Flavor to Intel", + "text": "-gdb-set disassembly-flavor intel", + "ignoreFailures": true + } + ] + } + + ] +} +``` \ No newline at end of file