microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.51k stars 1.55k forks source link

Natvis drops template types in typedefs with scope resolution (like `::iterator`) #10782

Closed yh-sb closed 8 months ago

yh-sb commented 1 year ago

Environment

Bug Summary and Steps to Reproduce

Natvis doesn't recognize nested (wildcard *) type if type is used with :: scope resolution via typedef. In the following c++ example: custom_list<int>::iterator it; type int ($T1 in natvis) is recognized as void by vscode natvis. So, it can't be displayed.

Source code:

template<typename T> struct custom_list_iterator
{
    T ptr_it;
};

template<typename T> struct custom_list
{
    typedef custom_list_iterator<T> iterator;
};

int main(int argc, char *argv[])
{
    custom_list<int>::iterator it; // Here the int ($T1) type is recognized as void (or not recognized at all) by vscode natvis. So, it can't be displayed

    return 0;
}

Natvis file:

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
    <Type Name="custom_list&lt;*&gt;::iterator">
        <DisplayString>{($T1)ptr_it}</DisplayString>
    </Type>
</AutoVisualizer>
image

Expected result: $T1 recognized as int and natvis works fine.

Debugger Configurations

// launch.json
{
    "version": "0.2.0",
    "configurations":
    [
        {
            "name": "g++ active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "cwd": "${fileDirname}",
            "miDebuggerPath": "gdb",
            "internalConsoleOptions": "neverOpen",
            "preLaunchTask": "g++ active file",
            "showDisplayString": true,
            "visualizerFile": "${workspaceFolder}/.vscode/custom.natvis"
        }
    ]
}

// tasks.json
{
    "tasks":
    [
        {
            "label": "g++ active file",
            "command": "g++",
            "args":
            [
                "-g",
                "-std=c++23",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": { "cwd": "${fileDirname}" },
            "problemMatcher": [ "$gcc" ],
            "group": { "kind": "build" },
            "presentation": { "showReuseMessage": false, "clear": true }
        }
    ],
    "version": "2.0.0"
}

Debugger Logs

DEBUG CONSOLE ```shell --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (53) LaunchOptions{\"name\":\"g++ active file\",\"type\":\"cppdbg\",\"request\":\"launch\",\"program\":\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples/types_natvis\",\"cwd\":\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\",\"miDebuggerPath\":\"gdb\",\"internalConsoleOptions\":\"neverOpen\",\"preLaunchTask\":\"g++ active file\",\"showDisplayString\":true,\"visualizerFile\":\"D:\\\\dev\\\\c++\\\\cpp-examples/.vscode/custom.natvis\",\"logging\":{\"engineLogging\":true,\"trace\":true,\"traceResponse\":true},\"__configurationTarget\":6,\"configSource\":\"workspaceFolder\",\"debugType\":\"debug\",\"__sessionId\":\"9a078ad4-d0d6-4f11-a3be-e0baf25d4060\",\"MIMode\":\"gdb\"}\r\n"},"seq":2} 1: (53) LaunchOptions{"name":"g++ active file","type":"cppdbg","request":"launch","program":"D:\\dev\\c++\\cpp-examples\\examples/types_natvis","cwd":"D:\\dev\\c++\\cpp-examples\\examples","miDebuggerPath":"gdb","internalConsoleOptions":"neverOpen","preLaunchTask":"g++ active file","showDisplayString":true,"visualizerFile":"D:\\dev\\c++\\cpp-examples/.vscode/custom.natvis","logging":{"engineLogging":true,"trace":true,"traceResponse":true},"__configurationTarget":6,"configSource":"workspaceFolder","debugType":"debug","__sessionId":"9a078ad4-d0d6-4f11-a3be-e0baf25d4060","MIMode":"gdb"} --> C (runInTerminal-4): {"type":"request","command":"runInTerminal","arguments":{"kind":"integrated","title":"cppdbg: types_natvis","cwd":"","args":["c:\\Users\\admin\\.vscode\\extensions\\ms-vscode.cpptools-1.15.1-win32-x64\\debugAdapters\\bin\\WindowsDebugLauncher.exe","--stdin=Microsoft-MIEngine-In-0dqzkun5.ygk","--stdout=Microsoft-MIEngine-Out-zdsx4piq.qjg","--stderr=Microsoft-MIEngine-Error-bwzuso4f.uop","--pid=Microsoft-MIEngine-Pid-svzuyboq.5nn","--dbgExe=C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\gdb.exe","--interpreter=mi"],"env":{}},"seq":4} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (95) Wait for connection completion.\r\n"},"seq":6} 1: (95) Wait for connection completion. --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (280) ->=thread-group-added,id=\"i1\"\r\n"},"seq":8} 1: (280) ->=thread-group-added,id="i1" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (280) ->~\"GNU gdb (GDB for MinGW-W64 x86_64, built by Brecht Sanders) 12.1\\n\"\r\n"},"seq":10} 1: (280) ->~"GNU gdb (GDB for MinGW-W64 x86_64, built by Brecht Sanders) 12.1\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"Copyright (C) 2022 Free Software Foundation, Inc.\\n\"\r\n"},"seq":12} 1: (281) ->~"Copyright (C) 2022 Free Software Foundation, Inc.\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"License GPLv3+: GNU GPL version 3 or later \\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law.\"\r\n"},"seq":14} 1: (281) ->~"License GPLv3+: GNU GPL version 3 or later \nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"\\nType \\\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"\r\n"},"seq":16} 1: (281) ->~"\nType \"show copying\" and \"show warranty\" for details.\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"This GDB was configured as \\\"x86_64-w64-mingw32\\\".\\n\"\r\n"},"seq":18} 1: (281) ->~"This GDB was configured as \"x86_64-w64-mingw32\".\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"Type \\\"show configuration\\\" for configuration details.\\n\"\r\n"},"seq":20} 1: (281) ->~"Type \"show configuration\" for configuration details.\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\"For bug reporting instructions, please see:\\n\"\r\n"},"seq":22} 1: (281) ->~"For bug reporting instructions, please see:\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (281) ->~\".\\n\"\r\n"},"seq":24} 1: (281) ->~".\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (282) ->~\"Find the GDB manual and other documentation resources online at:\\n .\"\r\n"},"seq":26} 1: (282) ->~"Find the GDB manual and other documentation resources online at:\n ." --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (282) ->~\"\\n\\n\"\r\n"},"seq":28} 1: (282) ->~"\n\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (282) ->~\"For help, type \\\"help\\\".\\n\"\r\n"},"seq":30} 1: (282) ->~"For help, type \"help\".\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (282) ->~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\".\\n\"\r\n"},"seq":32} 1: (282) ->~"Type \"apropos word\" to search for commands related to \"word\".\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (282) ->(gdb)\r\n"},"seq":34} 1: (282) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (286) <-1001-gdb-set mi-async on\r\n"},"seq":36} 1: (286) <-1001-gdb-set mi-async on --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (304) ->1001^done\r\n"},"seq":38} 1: (304) ->1001^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (304) ->(gdb)\r\n"},"seq":40} 1: (304) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (304) ->&\"\\n\"\r\n"},"seq":42} 1: (304) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (304) ->^done\r\n"},"seq":44} 1: (304) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (304) ->(gdb)\r\n"},"seq":46} 1: (304) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (306) 1001: elapsed time 21\r\n"},"seq":48} 1: (306) 1001: elapsed time 21 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (309) <-1002-interpreter-exec console \"show configuration\"\r\n"},"seq":50} 1: (309) <-1002-interpreter-exec console "show configuration" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (319) ->~\"This GDB was configured as follows:\\n configure --host=\"\r\n"},"seq":52} 1: (319) ->~"This GDB was configured as follows:\n configure --host=" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"x86_64-w64-mingw32 --target=x86_64-w64-mingw32\\n\"\r\n"},"seq":54} 1: (320) ->~"x86_64-w64-mingw32 --target=x86_64-w64-mingw32\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --with-auto-load-dir=$debugdir:$datadir/auto-load\\n\\t --with-auto-load-safe-path=\"\r\n"},"seq":56} 1: (320) ->~"\t --with-auto-load-dir=$debugdir:$datadir/auto-load\n\t --with-auto-load-safe-path=" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"$debugdir:$datadir/auto-load\\n\"\r\n"},"seq":58} 1: (320) ->~"$debugdir:$datadir/auto-load\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --with-expat\\n\"\r\n"},"seq":60} 1: (320) ->~"\t --with-expat\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --with-gdb-datadir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/share/gdb (relocatable)\\n\"\r\n"},"seq":62} 1: (320) ->~"\t --with-gdb-datadir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/share/gdb (relocatable)\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --with-jit-reader-dir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/lib/gdb (relocatable)\\n\"\r\n"},"seq":64} 1: (320) ->~"\t --with-jit-reader-dir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/lib/gdb (relocatable)\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --without-libunwind-ia64\\n\"\r\n"},"seq":66} 1: (320) ->~"\t --without-libunwind-ia64\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --with-lzma\\n\"\r\n"},"seq":68} 1: (320) ->~"\t --with-lzma\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --without-babeltrace\\n\"\r\n"},"seq":70} 1: (320) ->~"\t --without-babeltrace\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (320) ->~\"\\t --without-intel-pt\\n\"\r\n"},"seq":72} 1: (320) ->~"\t --without-intel-pt\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-mpfr\\n\"\r\n"},"seq":74} 1: (321) ->~"\t --with-mpfr\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-xxhash\\n\"\r\n"},"seq":76} 1: (321) ->~"\t --with-xxhash\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-python=E:/Prog/winlibs64-11.3.0ucrt/custombuilt/share/python\\n\"\r\n"},"seq":78} 1: (321) ->~"\t --with-python=E:/Prog/winlibs64-11.3.0ucrt/custombuilt/share/python\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-python-libdir=/e/Prog/winlibs64-11.3.0ucrt/custombuilt/share/python/lib\\n\"\r\n"},"seq":80} 1: (321) ->~"\t --with-python-libdir=/e/Prog/winlibs64-11.3.0ucrt/custombuilt/share/python/lib\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --without-debuginfod\\n\"\r\n"},"seq":82} 1: (321) ->~"\t --without-debuginfod\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --without-guile\\n\"\r\n"},"seq":84} 1: (321) ->~"\t --without-guile\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --enable-source-highlight\\n\"\r\n"},"seq":86} 1: (321) ->~"\t --enable-source-highlight\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-separate-debug-dir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/lib/debug (relocatable)\\n\"\r\n"},"seq":88} 1: (321) ->~"\t --with-separate-debug-dir=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/lib/debug (relocatable)\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\t --with-system-gdbinit=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/share/gdb/gdbinit (relocatable)\\n\"\r\n"},"seq":90} 1: (321) ->~"\t --with-system-gdbinit=/R/winlibs64-11.3.0ucrt/inst_gdb-12.1/share/gdb/share/gdb/gdbinit (relocatable)\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->~\"\\n(\\\"Relocatable\\\" means the directory can be moved with the GDB installation\\ntree, and GDB will still find it.)\\n\"\r\n"},"seq":92} 1: (321) ->~"\n(\"Relocatable\" means the directory can be moved with the GDB installation\ntree, and GDB will still find it.)\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->1002^done\r\n"},"seq":94} 1: (321) ->1002^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) 1002: elapsed time 11\r\n"},"seq":96} 1: (321) 1002: elapsed time 11 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->(gdb)\r\n"},"seq":98} 1: (321) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (321) ->&\"\\n\"\r\n"},"seq":100} 1: (321) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (322) ->^done\r\n"},"seq":102} 1: (322) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (322) ->(gdb)\r\n"},"seq":104} 1: (322) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/MIEngine/WindowsRuntime","data":{"VS.Diagnostics.Debugger.MIEngine.WindowsRuntime":"MinGW"}},"seq":106} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (333) <-1003-interpreter-exec console \"set pagination off\"\r\n"},"seq":108} 1: (333) <-1003-interpreter-exec console "set pagination off" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (335) ->=cmd-param-changed,param=\"pagination\",value=\"off\"\r\n"},"seq":110} (I removed some logs in the middle due to github issue size limitation 65535 characters) ........ 1: (481) DebuggerPid=23584 <-- C (setBreakpoints-4): {"command":"setBreakpoints","arguments":{"source":{"name":"natvis_test.cpp","path":"d:\\dev\\c++\\cpp-examples\\examples\\natvis_test.cpp"},"lines":[749],"breakpoints":[{"line":749}],"sourceModified":false},"type":"request","seq":4} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (496) <-1011-break-insert -f natvis_test.cpp:749\r\n"},"seq":240} 1: (496) <-1011-break-insert -f natvis_test.cpp:749 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (510) ->&\"No source file named natvis_test.cpp.\\n\"\r\n"},"seq":242} 1: (510) ->&"No source file named natvis_test.cpp.\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (510) ->1011^done,bkpt={number=\"2\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",pending=\"natvis_test.cpp:749\",times=\"0\",original-location=\"natvis_test.cpp:749\"}\r\n"},"seq":244} 1: (510) ->1011^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="",pending="natvis_test.cpp:749",times="0",original-location="natvis_test.cpp:749"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (510) 1011: elapsed time 14\r\n"},"seq":246} 1: (510) 1011: elapsed time 14 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (510) ->(gdb)\r\n"},"seq":248} 1: (510) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (511) ->&\"\\n\"\r\n"},"seq":250} 1: (511) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (511) ->^done\r\n"},"seq":252} 1: (511) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (511) ->(gdb)\r\n"},"seq":254} 1: (511) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (514) Send Event AD7BreakpointErrorEvent\r\n"},"seq":256} 1: (514) Send Event AD7BreakpointErrorEvent --> R (setBreakpoints-4): {"type":"response","request_seq":4,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":1,"verified":true,"line":749,"BoundBreakpoints":[]}]},"seq":258} --> E (breakpoint): {"type":"event","event":"breakpoint","body":{"reason":"changed","breakpoint":{"id":1,"verified":false,"message":"Module containing this breakpoint has not yet loaded or the breakpoint address could not be obtained.","line":749,"BoundBreakpoints":[]}},"seq":260} <-- C (setBreakpoints-5): {"command":"setBreakpoints","arguments":{"source":{"name":"types_natvis.cpp","path":"d:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp"},"lines":[17],"breakpoints":[{"line":17}],"sourceModified":false},"type":"request","seq":5} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (525) <-1012-break-insert -f types_natvis.cpp:17\r\n"},"seq":263} 1: (525) <-1012-break-insert -f types_natvis.cpp:17 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) ->1012^done,bkpt={number=\"3\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x00000001400017e4\",func=\"main(int, char**)\",file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",thread-groups=[\"i1\"],times=\"0\",original-location=\"types_natvis.cpp:17\"}\r\n"},"seq":265} 1: (526) ->1012^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x00000001400017e4",func="main(int, char**)",file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",thread-groups=["i1"],times="0",original-location="types_natvis.cpp:17"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) 1012: elapsed time 1\r\n"},"seq":267} 1: (526) 1012: elapsed time 1 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) ->(gdb)\r\n"},"seq":269} 1: (526) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) ->&\"\\n\"\r\n"},"seq":271} 1: (526) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) ->^done\r\n"},"seq":273} 1: (526) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (526) ->(gdb)\r\n"},"seq":275} 1: (526) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (531) <-1013-symbol-list-lines D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\r\n"},"seq":277} 1: (531) <-1013-symbol-list-lines D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) ->1013^done,lines=[{pc=\"0x00000001400017d0\",line=\"14\"},{pc=\"0x00000001400017df\",line=\"14\"},{pc=\"0x00000001400017e4\",line=\"17\"},{pc=\"0x00000001400017e9\",line=\"18\"},{pc=\"0x00000001400017ef\",line=\"0\"},{pc=\"0x000000014000180d\",line=\"18\"},{pc=\"0x000000014000181b\",line=\"18\"},{pc=\"0x000000014000182a\",line=\"0\"},{pc=\"0x0000000140001848\",line=\"18\"},{pc=\"0x000000014000184f\",line=\"18\"},{pc=\"0x0000000140001857\",line=\"18\"},{pc=\"0x000000014000186d\",line=\"0\"}]\r\n"},"seq":279} 1: (542) ->1013^done,lines=[{pc="0x00000001400017d0",line="14"},{pc="0x00000001400017df",line="14"},{pc="0x00000001400017e4",line="17"},{pc="0x00000001400017e9",line="18"},{pc="0x00000001400017ef",line="0"},{pc="0x000000014000180d",line="18"},{pc="0x000000014000181b",line="18"},{pc="0x000000014000182a",line="0"},{pc="0x0000000140001848",line="18"},{pc="0x000000014000184f",line="18"},{pc="0x0000000140001857",line="18"},{pc="0x000000014000186d",line="0"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) ->(gdb)\r\n"},"seq":281} 1: (542) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) ->&\"\\n\"\r\n"},"seq":283} 1: (542) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) ->^done\r\n"},"seq":285} 1: (542) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) ->(gdb)\r\n"},"seq":287} 1: (542) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (542) 1013: elapsed time 11\r\n"},"seq":289} 1: (542) 1013: elapsed time 11 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (548) Send Event AD7BreakpointBoundEvent\r\n"},"seq":291} 1: (548) Send Event AD7BreakpointBoundEvent --> R (setBreakpoints-5): {"type":"response","request_seq":5,"success":true,"command":"setBreakpoints","body":{"breakpoints":[{"id":2,"verified":true,"line":17,"BoundBreakpoints":[]}]},"seq":293} --> E (breakpoint): {"type":"event","event":"breakpoint","body":{"reason":"changed","breakpoint":{"id":2,"verified":true,"line":17,"BoundBreakpoints":[]}},"seq":295} <-- C (setFunctionBreakpoints-6): {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":6} --> R (setFunctionBreakpoints-6): {"type":"response","request_seq":6,"success":true,"command":"setFunctionBreakpoints","body":{"breakpoints":[]},"seq":298} <-- C (setDataBreakpoints-7): {"command":"setDataBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":7} --> R (setDataBreakpoints-7): {"type":"response","request_seq":7,"success":true,"command":"setDataBreakpoints","body":{"breakpoints":[]},"seq":301} <-- C (setInstructionBreakpoints-8): {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":8} --> R (setInstructionBreakpoints-8): {"type":"response","request_seq":8,"success":true,"command":"setInstructionBreakpoints","body":{"breakpoints":[]},"seq":304} <-- C (setExceptionBreakpoints-9): {"command":"setExceptionBreakpoints","arguments":{"filters":[],"filterOptions":[{"filterId":"all"}]},"type":"request","seq":9} --> R (setExceptionBreakpoints-9): {"type":"response","request_seq":9,"success":true,"command":"setExceptionBreakpoints","body":{"breakpoints":[]},"seq":307} <-- C (configurationDone-10): {"command":"configurationDone","type":"request","seq":10} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (602) Send Event AD7LoadCompleteEvent\r\n"},"seq":311} 1: (602) Send Event AD7LoadCompleteEvent --> R (configurationDone-10): {"type":"response","request_seq":10,"success":true,"command":"configurationDone","body":{},"seq":310} --> E (output): {"type":"event","event":"output","body":{"category":"stdout","output":"=thread-group-added,id=\"i1\"\nGNU gdb (GDB for MinGW-W64 x86_64, built by Brecht Sanders) 12.1\nCopyright (C) 2022 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later \nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\nType \"show copying\" and \"show warranty\" for details.\nThis GDB was configured as \"x86_64-w64-mingw32\".\nType \"show configuration\" for configuration details.\nFor bug reporting instructions, please see:\n.\nFind the GDB manual and other documentation resources online at:\n .\n\nFor help, type \"help\".\nType \"apropos word\" to search for commands related to \"word\".\nWarning: Debuggee TargetArchitecture not detected, assuming x86_64.\n=cmd-param-changed,param=\"pagination\",value=\"off\"\n"},"seq":314} =thread-group-added,id="i1" GNU gdb (GDB for MinGW-W64 x86_64, built by Brecht Sanders) 12.1 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-w64-mingw32". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". Warning: Debuggee TargetArchitecture not detected, assuming x86_64. =cmd-param-changed,param="pagination",value="off" <-- C (threads-11): {"command":"threads","type":"request","seq":11} --> R (threads-11): {"type":"response","request_seq":11,"success":true,"command":"threads","body":{"threads":[]},"seq":317} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (613) <-1014-catch-throw\r\n"},"seq":319} 1: (613) <-1014-catch-throw --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) ->1014^done,bkpt={number=\"4\",type=\"catchpoint\",disp=\"keep\",enabled=\"y\",what=\"exception throw\",catch-type=\"throw\",times=\"0\"}\r\n"},"seq":321} 1: (619) ->1014^done,bkpt={number="4",type="catchpoint",disp="keep",enabled="y",what="exception throw",catch-type="throw",times="0"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) 1014: elapsed time 5\r\n"},"seq":323} 1: (619) 1014: elapsed time 5 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) ->(gdb)\r\n"},"seq":325} 1: (619) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) ->&\"\\n\"\r\n"},"seq":327} 1: (619) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) ->^done\r\n"},"seq":329} 1: (619) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (619) ->(gdb)\r\n"},"seq":331} 1: (619) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (622) <-1015-exec-run\r\n"},"seq":333} 1: (622) <-1015-exec-run --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (637) ->=thread-group-started,id=\"i1\",pid=\"6892\"\r\n"},"seq":335} 1: (637) ->=thread-group-started,id="i1",pid="6892" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (637) ->=thread-created,id=\"1\",group-id=\"i1\"\r\n"},"seq":337} 1: (637) ->=thread-created,id="1",group-id="i1" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (639) ->=thread-created,id=\"2\",group-id=\"i1\"\r\n"},"seq":339} 1: (639) ->=thread-created,id="2",group-id="i1" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (639) <-1016-thread-info 1\r\n"},"seq":341} 1: (639) <-1016-thread-info 1 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (639) ->~\"[New Thread 6892.0x5144]\\n\"\r\n"},"seq":343} 1: (639) ->~"[New Thread 6892.0x5144]\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (639) ->=thread-created,id=\"3\",group-id=\"i1\"\r\n"},"seq":345} 1: (639) ->=thread-created,id="3",group-id="i1" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (640) ->~\"[New Thread 6892.0x20d0]\\n\"\r\n"},"seq":347} 1: (640) ->~"[New Thread 6892.0x20d0]\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (640) ->=thread-created,id=\"4\",group-id=\"i1\"\r\n"},"seq":349} 1: (640) ->=thread-created,id="4",group-id="i1" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (640) ->~\"[New Thread 6892.0x3588]\\n\"\r\n"},"seq":351} 1: (640) ->~"[New Thread 6892.0x3588]\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (641) <-1017-thread-info 2\r\n"},"seq":353} 1: (641) <-1017-thread-info 2 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (641) ->=breakpoint-modified,bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x00007ff6a58f17e4\",func=\"main(int, char**)\",file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",thread-groups=[\"i1\"],times=\"0\",original-location=\"main\"}\r\n"},"seq":355} 1: (641) ->=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00007ff6a58f17e4",func="main(int, char**)",file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",thread-groups=["i1"],times="0",original-location="main"} --> E (output): {"type":"event","event":"output","body":{"category":"stdout","output":"[New Thread 6892.0x5144]\n"},"seq":357} [New Thread 6892.0x5144] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (641) ->=breakpoint-modified,bkpt={number=\"3\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x00007ff6a58f17e4\",func=\"main(int, char**)\",file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",thread-groups=[\"i1\"],times=\"0\",original-location=\"types_natvis.cpp:17\"}\r\n"},"seq":359} 1: (641) ->=breakpoint-modified,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x00007ff6a58f17e4",func="main(int, char**)",file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",thread-groups=["i1"],times="0",original-location="types_natvis.cpp:17"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (642) <-1018-thread-info 3\r\n"},"seq":361} 1: (642) <-1018-thread-info 3 --> E (output): {"type":"event","event":"output","body":{"category":"stdout","output":"[New Thread 6892.0x20d0]\n"},"seq":363} [New Thread 6892.0x20d0] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (642) <-1019-thread-info 4\r\n"},"seq":365} 1: (642) <-1019-thread-info 4 --> E (output): {"type":"event","event":"output","body":{"category":"stdout","output":"[New Thread 6892.0x3588]\n"},"seq":367} [New Thread 6892.0x3588] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (642) ->=library-loaded,id=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",target-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",host-name=\"C:\\\\Windows\\\\SYSTEM32\\\\ntdll.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffee8b71000\",to=\"0x00007ffee8d83610\"}]\r\n"},"seq":369} 1: (642) ->=library-loaded,id="C:\\Windows\\SYSTEM32\\ntdll.dll",target-name="C:\\Windows\\SYSTEM32\\ntdll.dll",host-name="C:\\Windows\\SYSTEM32\\ntdll.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffee8b71000",to="0x00007ffee8d83610"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (642) ->=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\kernel32.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffee7451000\",to=\"0x00007ffee7512380\"}]\r\n"},"seq":371} 1: (642) ->=library-loaded,id="C:\\Windows\\System32\\kernel32.dll",target-name="C:\\Windows\\System32\\kernel32.dll",host-name="C:\\Windows\\System32\\kernel32.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffee7451000",to="0x00007ffee7512380"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (643) ->=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\KernelBase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffee6491000\",to=\"0x00007ffee682b750\"}]\r\n"},"seq":373} 1: (643) ->=library-loaded,id="C:\\Windows\\System32\\KernelBase.dll",target-name="C:\\Windows\\System32\\KernelBase.dll",host-name="C:\\Windows\\System32\\KernelBase.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffee6491000",to="0x00007ffee682b750"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (643) ->=library-loaded,id=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",target-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",host-name=\"C:\\\\Windows\\\\System32\\\\ucrtbase.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffee6371000\",to=\"0x00007ffee6480b24\"}]\r\n"},"seq":375} 1: (643) ->=library-loaded,id="C:\\Windows\\System32\\ucrtbase.dll",target-name="C:\\Windows\\System32\\ucrtbase.dll",host-name="C:\\Windows\\System32\\ucrtbase.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffee6371000",to="0x00007ffee6480b24"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (644) ->=library-loaded,id=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libstdc++-6.dll\",target-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libstdc++-6.dll\",host-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libstdc++-6.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffea6ad1000\",to=\"0x00007ffea6cccf2c\"}]\r\n"},"seq":377} 1: (644) ->=library-loaded,id="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libstdc++-6.dll",target-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libstdc++-6.dll",host-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libstdc++-6.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffea6ad1000",to="0x00007ffea6cccf2c"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (644) ->=library-loaded,id=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libwinpthread-1.dll\",target-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libwinpthread-1.dll\",host-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libwinpthread-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffec5331000\",to=\"0x00007ffec534e080\"}]\r\n"},"seq":379} 1: (644) ->=library-loaded,id="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libwinpthread-1.dll",target-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libwinpthread-1.dll",host-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libwinpthread-1.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffec5331000",to="0x00007ffec534e080"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (644) ->=library-loaded,id=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libgcc_s_seh-1.dll\",target-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libgcc_s_seh-1.dll\",host-name=\"C:\\\\Program Files\\\\mydevtools\\\\MinGW-w64\\\\bin\\\\libgcc_s_seh-1.dll\",symbols-loaded=\"0\",thread-group=\"i1\",ranges=[{from=\"0x00007ffeab531000\",to=\"0x00007ffeab553078\"}]\r\n"},"seq":381} 1: (644) ->=library-loaded,id="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libgcc_s_seh-1.dll",target-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libgcc_s_seh-1.dll",host-name="C:\\Program Files\\mydevtools\\MinGW-w64\\bin\\libgcc_s_seh-1.dll",symbols-loaded="0",thread-group="i1",ranges=[{from="0x00007ffeab531000",to="0x00007ffeab553078"}] --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (645) <-1020-symbol-list-lines D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\r\n"},"seq":383} 1: (645) <-1020-symbol-list-lines D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (697) ->1015^running\r\n"},"seq":385} 1: (697) ->1015^running --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (697) 1015: elapsed time 75\r\n"},"seq":387} 1: (697) 1015: elapsed time 75 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (697) ->*running,thread-id=\"all\"\r\n"},"seq":389} 1: (697) ->*running,thread-id="all" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (698) ->(gdb)\r\n"},"seq":391} 1: (698) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (698) ->=breakpoint-modified,bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x00007ff6a58f17e4\",func=\"main(int, char**)\",file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",thread-groups=[\"i1\"],times=\"1\",original-location=\"main\"}\r\n"},"seq":393} 1: (698) ->=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00007ff6a58f17e4",func="main(int, char**)",file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",thread-groups=["i1"],times="1",original-location="main"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (698) ->=breakpoint-modified,bkpt={number=\"3\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x00007ff6a58f17e4\",func=\"main(int, char**)\",file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",thread-groups=[\"i1\"],times=\"1\",original-location=\"types_natvis.cpp:17\"}\r\n"},"seq":395} 1: (698) ->=breakpoint-modified,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x00007ff6a58f17e4",func="main(int, char**)",file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",thread-groups=["i1"],times="1",original-location="types_natvis.cpp:17"} --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (699) ->~\"\\n\"\r\n"},"seq":397} 1: (699) ->~"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (699) ->~\"Thread 1 hit Breakpoint 1, main (argc=1, argv=0x1b2fdbba650) at D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp:17\\n\"\r\n"},"seq":399} 1: (699) ->~"Thread 1 hit Breakpoint 1, main (argc=1, argv=0x1b2fdbba650) at D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp:17\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (699) ->~\"17\\t return 0;\\n\"\r\n"},"seq":401} 1: (699) ->~"17\t return 0;\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (699) ->*stopped,reason=\"breakpoint-hit\",disp=\"keep\",bkptno=\"1\",frame={addr=\"0x00007ff6a58f17e4\",func=\"main\",args=[{name=\"argc\",value=\"1\"},{name=\"argv\",value=\"0x1b2fdbba650\"}],file=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",fullname=\"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.cpp\",line=\"17\",arch=\"i386:x86-64\"},thread-id=\"1\",stopped-threads=\"all\"\r\n"},"seq":403} 1: (699) ->*stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x00007ff6a58f17e4",func="main",args=[{name="argc",value="1"},{name="argv",value="0x1b2fdbba650"}],file="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",fullname="D:\\dev\\c++\\cpp-examples\\examples\\types_natvis.cpp",line="17",arch="i386:x86-64"},thread-id="1",stopped-threads="all" (I removed some logs in the middle due to github issue size limitation 65535 characters) ........ 1: (962) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (964) <-1033-var-create - * \"argc\"\r\n"},"seq":750} 1: (964) <-1033-var-create - * "argc" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) ->1033^done,name=\"var3\",numchild=\"0\",value=\"1\",type=\"int\",thread-id=\"1\",has_more=\"0\"\r\n"},"seq":752} 1: (977) ->1033^done,name="var3",numchild="0",value="1",type="int",thread-id="1",has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) 1033: elapsed time 12\r\n"},"seq":754} 1: (977) 1033: elapsed time 12 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) ->(gdb)\r\n"},"seq":756} 1: (977) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) ->&\"\\n\"\r\n"},"seq":758} 1: (977) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) ->^done\r\n"},"seq":760} 1: (977) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (977) ->(gdb)\r\n"},"seq":762} 1: (977) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (978) <-1034-var-create - * \"argv\"\r\n"},"seq":764} 1: (978) <-1034-var-create - * "argv" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) ->1034^done,name=\"var4\",numchild=\"1\",value=\"0x1b2fdbba650\",type=\"char **\",thread-id=\"1\",has_more=\"0\"\r\n"},"seq":766} 1: (993) ->1034^done,name="var4",numchild="1",value="0x1b2fdbba650",type="char **",thread-id="1",has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) 1034: elapsed time 14\r\n"},"seq":768} 1: (993) 1034: elapsed time 14 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) ->(gdb)\r\n"},"seq":770} 1: (993) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) <-1035-var-create - * \"it\"\r\n"},"seq":772} 1: (993) <-1035-var-create - * "it" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) ->&\"\\n\"\r\n"},"seq":774} 1: (993) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) ->^done\r\n"},"seq":776} 1: (993) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (993) ->(gdb)\r\n"},"seq":778} 1: (993) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) ->1035^done,name=\"var5\",numchild=\"1\",value=\"{...}\",type=\"custom_list::iterator\",thread-id=\"1\",has_more=\"0\"\r\n"},"seq":780} 1: (1008) ->1035^done,name="var5",numchild="1",value="{...}",type="custom_list::iterator",thread-id="1",has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) ->(gdb)\r\n"},"seq":782} 1: (1008) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) 1035: elapsed time 14\r\n"},"seq":784} 1: (1008) 1035: elapsed time 14 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) ->&\"\\n\"\r\n"},"seq":786} 1: (1008) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) ->^done\r\n"},"seq":788} 1: (1008) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1008) ->(gdb)\r\n"},"seq":790} 1: (1008) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1018) <-1036-var-list-children --simple-values \"var5\" 0 1000\r\n"},"seq":792} 1: (1018) <-1036-var-list-children --simple-values "var5" 0 1000 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1023) ->1036^done,numchild=\"1\",children=[child={name=\"var5.public\",exp=\"public\",numchild=\"1\",value=\"\",thread-id=\"1\"}],has_more=\"0\"\r\n"},"seq":794} 1: (1023) ->1036^done,numchild="1",children=[child={name="var5.public",exp="public",numchild="1",value="",thread-id="1"}],has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1024) ->(gdb)\r\n"},"seq":796} 1: (1024) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1024) 1036: elapsed time 5\r\n"},"seq":798} 1: (1024) 1036: elapsed time 5 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1024) ->&\"\\n\"\r\n"},"seq":800} 1: (1024) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1024) ->^done\r\n"},"seq":802} 1: (1024) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1024) ->(gdb)\r\n"},"seq":804} 1: (1024) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1025) <-1037-var-list-children --simple-values \"var5.public\" 0 1000\r\n"},"seq":806} 1: (1025) <-1037-var-list-children --simple-values "var5.public" 0 1000 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) ->1037^done,numchild=\"1\",children=[child={name=\"var5.public.ptr_it\",exp=\"ptr_it\",numchild=\"0\",value=\"0\",type=\"int\",thread-id=\"1\"}],has_more=\"0\"\r\n"},"seq":808} 1: (1040) ->1037^done,numchild="1",children=[child={name="var5.public.ptr_it",exp="ptr_it",numchild="0",value="0",type="int",thread-id="1"}],has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) 1037: elapsed time 14\r\n"},"seq":810} 1: (1040) 1037: elapsed time 14 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) ->(gdb)\r\n"},"seq":812} 1: (1040) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) ->&\"\\n\"\r\n"},"seq":814} 1: (1040) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) ->^done\r\n"},"seq":816} 1: (1040) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1040) ->(gdb)\r\n"},"seq":818} 1: (1040) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1041) <-1038-var-create - * \"($T1)((it).ptr_it)\"\r\n"},"seq":820} 1: (1041) <-1038-var-create - * "($T1)((it).ptr_it)" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) ->1038^error,msg=\"Expression of type other than \\\"Function returning ...\\\" used as function\"\r\n"},"seq":822} 1: (1056) ->1038^error,msg="Expression of type other than \"Function returning ...\" used as function" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) 1038: elapsed time 15\r\n"},"seq":824} 1: (1056) 1038: elapsed time 15 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) ->(gdb)\r\n"},"seq":826} 1: (1056) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) ->&\"\\n\"\r\n"},"seq":828} 1: (1056) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) ->^done\r\n"},"seq":830} 1: (1056) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1056) ->(gdb)\r\n"},"seq":832} 1: (1056) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1059) <-1039-var-list-children --simple-values \"var4\" 0 1000\r\n"},"seq":834} 1: (1059) <-1039-var-list-children --simple-values "var4" 0 1000 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1071) ->1039^done,numchild=\"1\",children=[child={name=\"var4.*argv\",exp=\"*argv\",numchild=\"1\",value=\"0x1b2fdbb8d10 \\\"D:\\\\\\\\dev\\\\\\\\c++\\\\\\\\cpp-examples\\\\\\\\examples\\\\\\\\types_natvis.exe\\\"\",type=\"char *\",thread-id=\"1\"}],has_more=\"0\"\r\n"},"seq":836} 1: (1071) ->1039^done,numchild="1",children=[child={name="var4.*argv",exp="*argv",numchild="1",value="0x1b2fdbb8d10 \"D:\\\\dev\\\\c++\\\\cpp-examples\\\\examples\\\\types_natvis.exe\"",type="char *",thread-id="1"}],has_more="0" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1071) 1039: elapsed time 12\r\n"},"seq":838} 1: (1071) 1039: elapsed time 12 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1071) ->(gdb)\r\n"},"seq":840} 1: (1071) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1071) ->&\"\\n\"\r\n"},"seq":842} 1: (1071) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1072) ->^done\r\n"},"seq":844} 1: (1072) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1072) ->(gdb)\r\n"},"seq":846} 1: (1072) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1072) <-1040-var-create - * \"($T1)((it).ptr_it)\"\r\n"},"seq":848} 1: (1072) <-1040-var-create - * "($T1)((it).ptr_it)" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1086) ->1040^error,msg=\"Expression of type other than \\\"Function returning ...\\\" used as function\"\r\n"},"seq":850} 1: (1086) ->1040^error,msg="Expression of type other than \"Function returning ...\" used as function" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1086) 1040: elapsed time 13\r\n"},"seq":852} 1: (1086) 1040: elapsed time 13 --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1086) ->(gdb)\r\n"},"seq":854} 1: (1086) ->(gdb) --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1087) ->&\"\\n\"\r\n"},"seq":856} 1: (1087) ->&"\n" --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1087) ->^done\r\n"},"seq":858} 1: (1087) ->^done --> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (1087) ->(gdb)\r\n"},"seq":860} 1: (1087) ->(gdb) --> R (variables-16): {"type":"response","request_seq":16,"success":true,"command":"variables","body":{"variables":[{"name":"it","value":"Expression of type other than \"Function returning ...\" used as function","type":"custom_list::iterator","evaluateName":"it","variablesReference":1002},{"name":"argc","value":"1","type":"int","evaluateName":"argc","variablesReference":0,"memoryReference":"0x0000000000000001"},{"name":"argv","value":"0x1b2fdbba650","type":"char **","evaluateName":"argv","variablesReference":1003,"memoryReference":"0x000001b2fdbba650"}]},"seq":862} <-- C (variables-17): {"command":"variables","arguments":{"variablesReference":1002},"type":"request","seq":17} --> R (variables-17): {"type":"response","request_seq":17,"success":true,"command":"variables","body":{"variables":[{"name":"ptr_it","value":"0","type":"int","evaluateName":"(it).ptr_it","variablesReference":0,"memoryReference":"0x0000000000000000"}]},"seq":865} ```

Other Extensions

No response

Additional Information

No response

WardenGnaw commented 1 year ago

Thank you for reporting this issue. We’ll let you know if we need more information to investigate it.

github-actions[bot] commented 8 months ago

This issue has been closed as lower priority. We're sorry if this issue still impacts you but unfortunately we're not able to address this. We will accept a pull request from the community if it's applicable for this issue.