Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breakpoints with GDB on certain lines in some C++ program fail to be set #189

Open
ktrarai opened this issue Jan 3, 2025 · 2 comments
Open

Comments

@ktrarai
Copy link

ktrarai commented Jan 3, 2025

OS: Fedora Linux 41 (Workstation Edition)
Emacs: GNU Emacs 29.4 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.0) of 2024-10-10
Dape: 0.19.0
GDB: GNU gdb (Fedora Linux) 15.2-3.fc41
GCC: g++ (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3)

Hi.

Breakpoints with Dape/GDB on certain lines in some C++ program fail to be set and then Emacs begins to eat memory greedily and will be killed by the system eventually. Here is the program:

Main.cpp

#include <cstddef>
#include <iostream>
#include <vector>
using namespace std;

int main() {
  size_t n = 5;
  vector<int> v(n);
  v = {1, 2, 3, 4, 5};
  for (size_t i = n; i--;) {
    cout << v.at(i) << (i == 0 ? '\n' : ' ');
  }
}

Setting a breakpoint to the line 6 (int main()), 7 or 8 gets this phenomenon happen, but for the line 9 (v = {1, ...) it seems like to work normally.

dape config

Run adapter: gdb
command-cwd "/home/kentaro/Documents/projects/cpp/"
:program "./a.out"
:args []
:stopAtBeginningOfMainSubprogram nil
compile "make -k"

Makefile

CC = g++
CXXFLAGS = -std=c++23 -Wall -Wextra -g
SRC = Main.cpp
PROGRAM = a.out

$(PROGRAM) : $(SRC)
	$(CC) $(CXXFLAGS) -o $@ $<

run : $(PROGRAM)
	./$<

.PHONY : run

*dape-repl*

* Welcome to Dape REPL! *
Available Dape commands: debug, next, continue, pause, step, out, up, down, threads, stack, modules, sources, breakpoints, scope, watch, restart, kill, disconnect, quit
Empty input will rerun last command.

* Adapter started with "gdb --interpreter=dap" *
GNU gdb (Fedora Linux) 15.2-3.fc41
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
No source file named /home/kentaro/Documents/projects/cpp/Main.cpp.
Breakpoint 1 (-source /home/kentaro/Documents/projects/cpp/Main.cpp -line 6) pending.
* Breakpoint in Main.cpp moved from line 6 to 7 *
* Process processed /home/kentaro/Documents/projects/cpp/a.out *
* Failed to set breakpoints in Main.cpp; notStopped *
* Command "variables" timed out after 10 seconds, the timeout period is configurable with `dape-request-timeout' *
> 

*dape-connection events*

[jsonrpc] e[06:07:15.896] --> initialize[1] {"type":"request","seq":1,"command":"initialize","arguments":{"clientID":"dape","adapterID":null,"pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsRunInTerminalRequest":true,"supportsArgsCanBeInterpretedByShell":true,"supportsProgressReporting":true,"supportsStartDebuggingRequest":true}}
[jsonrpc] e[06:07:15.949] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "GNU gdb (Fedora Linux) 15.2-3.fc41\n"}, "seq": 1}
[jsonrpc] e[06:07:15.951] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Copyright (C) 2024 Free Software Foundation, Inc.\n"}, "seq": 2}
[jsonrpc] e[06:07:15.951] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"}, "seq": 3}
[jsonrpc] e[06:07:15.951] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "This is free software: you are free to change and redistribute it.\n"}, "seq": 4}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "There is NO WARRANTY, to the extent permitted by law.\n"}, "seq": 5}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"show copying\" and \"show warranty\" for details.\n"}, "seq": 6}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "This GDB was configured as \"x86_64-redhat-linux-gnu\".\n"}, "seq": 7}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"show configuration\" for configuration details.\n"}, "seq": 8}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "For bug reporting instructions, please see:\n"}, "seq": 9}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "<https://www.gnu.org/software/gdb/bugs/>.\n"}, "seq": 10}
[jsonrpc] e[06:07:15.966] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Find the GDB manual and other documentation resources online at:\n"}, "seq": 11}
[jsonrpc] e[06:07:15.967] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "    <http://www.gnu.org/software/gdb/documentation/>.\n"}, "seq": 12}
[jsonrpc] e[06:07:15.967] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "\n"}, "seq": 13}
[jsonrpc] e[06:07:15.967] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "For help, type \"help\".\n"}, "seq": 14}
[jsonrpc] e[06:07:15.967] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"apropos word\" to search for commands related to \"word\".\n"}, "seq": 15}
[jsonrpc] e[06:07:15.967] <-- initialize[1] {"request_seq": 1, "type": "response", "command": "initialize", "body": {"supportsTerminateRequest": true, "supportTerminateDebuggee": true, "supportsCancelRequest": true, "supportsLoadedSourcesRequest": true, "supportsLogPoints": true, "supportsConditionalBreakpoints": true, "supportsHitConditionalBreakpoints": true, "supportsFunctionBreakpoints": true, "supportsInstructionBreakpoints": true, "exceptionBreakpointFilters": [{"filter": "assert", "label": "Ada assertions", "supportsCondition": true}, {"filter": "exception", "label": "Ada exceptions", "supportsCondition": true}, {"filter": "throw", "label": "C++ exceptions, when thrown", "supportsCondition": true}, {"filter": "rethrow", "label": "C++ exceptions, when re-thrown", "supportsCondition": true}, {"filter": "catch", "label": "C++ exceptions, when caught", "supportsCondition": true}], "supportsExceptionFilterOptions": true, "supportsModulesRequest": true, "supportsDelayedStackTraceLoading": true, "supportsDisassembleRequest": true, "supportsValueFormattingOptions": true, "supportsEvaluateForHovers": true, "supportsSetExpression": true, "supportsSetVariable": true, "supportsConfigurationDoneRequest": true, "supportsBreakpointLocationsRequest": true, "supportsReadMemoryRequest": true, "supportsWriteMemoryRequest": true, "supportsSingleThreadExecutionRequests": true, "supportsSteppingGranularity": true}, "success": true, "seq": 16}
[jsonrpc] e[06:07:15.967] <-- initialized {"type": "event", "event": "initialized", "seq": 17}
[jsonrpc] e[06:07:15.967] --> setExceptionBreakpoints[2] {"type":"request","seq":2,"command":"setExceptionBreakpoints","arguments":{"filters":[]}}
[jsonrpc] e[06:07:15.983] <-- setExceptionBreakpoints[2] {"request_seq": 2, "type": "response", "command": "setExceptionBreakpoints", "body": {"breakpoints": []}, "success": true, "seq": 18}
[jsonrpc] e[06:07:15.984] --> setBreakpoints[3] {"type":"request","seq":3,"command":"setBreakpoints","arguments":{"source":{"path":"/home/kentaro/Documents/projects/cpp/Main.cpp"},"breakpoints":[{"line":6}],"lines":[6]}}
[stderr]  
[stderr]  
[stderr]  nil
[stderr]  nil
[stderr]  Process dape adapter stderr finished
[jsonrpc] e[06:07:15.985] <-- setBreakpoints[3] {"request_seq": 3, "type": "response", "command": "setBreakpoints", "body": {"breakpoints": [{"id": 1, "verified": false, "reason": "pending"}]}, "success": true, "seq": 19}
[jsonrpc] e[06:07:15.985] --> configurationDone[4] {"type":"request","seq":4,"command":"configurationDone"}
[jsonrpc] e[06:07:15.985] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "No source file named /home/kentaro/Documents/projects/cpp/Main.cpp.\n"}, "seq": 20}
[jsonrpc] e[06:07:15.986] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Breakpoint 1 (-source /home/kentaro/Documents/projects/cpp/Main.cpp -line 6) pending.\n"}, "seq": 21}
[jsonrpc] e[06:07:16.002] <-- configurationDone[4] {"request_seq": 4, "type": "response", "command": "configurationDone", "success": true, "seq": 22}
[jsonrpc] e[06:07:16.002] --> launch[5] {"type":"request","seq":5,"command":"launch","arguments":{"request":"launch","program":"./a.out","args":[],"stopAtBeginningOfMainSubprogram":false}}
[jsonrpc] e[06:07:16.002] <-- launch[5] {"request_seq": 5, "type": "response", "command": "launch", "success": true, "seq": 23}
[jsonrpc] e[06:07:16.016] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/home/kentaro/Documents/projects/cpp/./a.out", "name": "/home/kentaro/Documents/projects/cpp/./a.out", "path": "/home/kentaro/Documents/projects/cpp/a.out"}}, "seq": 24}
[jsonrpc] e[06:07:16.017] <-- breakpoint {"type": "event", "event": "breakpoint", "body": {"reason": "changed", "breakpoint": {"id": 1, "verified": true, "source": {"name": "Main.cpp", "path": "/home/kentaro/Documents/projects/cpp/Main.cpp"}, "line": 7, "instructionReference": "0x401213"}}, "seq": 25}
[jsonrpc] e[06:07:16.017] --> setBreakpoints[6] {"type":"request","seq":6,"command":"setBreakpoints","arguments":{"source":{"path":"/home/kentaro/Documents/projects/cpp/Main.cpp"},"breakpoints":[{"line":7}],"lines":[7]}}
[jsonrpc] e[06:07:16.017] <-- process {"type": "event", "event": "process", "body": {"isLocalProcess": true, "startMethod": "process", "name": "/home/kentaro/Documents/projects/cpp/a.out", "systemProcessId": 237283}, "seq": 26}
[jsonrpc] e[06:07:16.017] <-- thread {"type": "event", "event": "thread", "body": {"reason": "started", "threadId": 1}, "seq": 27}
[jsonrpc] e[06:07:16.017] --> threads[7] {"type":"request","seq":7,"command":"threads"}
[jsonrpc] e[06:07:16.099] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/lib64/ld-linux-x86-64.so.2", "name": "/lib64/ld-linux-x86-64.so.2", "path": "/lib64/ld-linux-x86-64.so.2"}}, "seq": 28}
[jsonrpc] e[06:07:16.099] <-- setBreakpoints[6] {"request_seq": 6, "type": "response", "command": "setBreakpoints", "success": false, "message": "notStopped", "seq": 29}
[jsonrpc] e[06:07:16.099] <-- threads[7] {"request_seq": 7, "type": "response", "command": "threads", "success": false, "message": "notStopped", "seq": 30}
[jsonrpc] e[06:07:16.099] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "system-supplied DSO at 0x7ffff7fc4000", "name": "system-supplied DSO at 0x7ffff7fc4000"}}, "seq": 31}
[jsonrpc] e[06:07:16.099] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/lib64/libstdc++.so.6", "name": "/lib64/libstdc++.so.6", "path": "/lib64/libstdc++.so.6"}}, "seq": 32}
[jsonrpc] e[06:07:16.099] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/lib64/libm.so.6", "name": "/lib64/libm.so.6", "path": "/lib64/libm.so.6"}}, "seq": 33}
[jsonrpc] e[06:07:16.099] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/lib64/libgcc_s.so.1", "name": "/lib64/libgcc_s.so.1", "path": "/lib64/libgcc_s.so.1"}}, "seq": 34}
[jsonrpc] e[06:07:16.132] <-- module {"type": "event", "event": "module", "body": {"reason": "new", "module": {"id": "/lib64/libc.so.6", "name": "/lib64/libc.so.6", "path": "/lib64/libc.so.6"}}, "seq": 35}
[jsonrpc] e[06:07:16.285] <-- breakpoint {"type": "event", "event": "breakpoint", "body": {"reason": "changed", "breakpoint": {"id": 1, "verified": true, "source": {"name": "Main.cpp", "path": "/home/kentaro/Documents/projects/cpp/Main.cpp"}, "line": 7, "instructionReference": "0x401213"}}, "seq": 36}
[jsonrpc] e[06:07:16.285] <-- stopped {"type": "event", "event": "stopped", "body": {"threadId": 1, "allThreadsStopped": true, "hitBreakpointIds": [1], "reason": "breakpoint"}, "seq": 37}
[jsonrpc] e[06:07:16.285] --> threads[8] {"type":"request","seq":8,"command":"threads"}
[jsonrpc] e[06:07:16.322] <-- threads[8] {"request_seq": 8, "type": "response", "command": "threads", "body": {"threads": [{"id": 1, "name": "a.out"}]}, "success": true, "seq": 38}
[jsonrpc] e[06:07:16.323] --> stackTrace[9] {"type":"request","seq":9,"command":"stackTrace","arguments":{"threadId":1,"startFrame":0,"levels":1}}
[jsonrpc] e[06:07:16.327] <-- stackTrace[9] {"request_seq": 9, "type": "response", "command": "stackTrace", "body": {"stackFrames": [{"id": 0, "line": 7, "column": 0, "instructionPointerReference": "0x401213", "moduleId": "/home/kentaro/Documents/projects/cpp/./a.out", "source": {"name": "Main.cpp", "path": "/home/kentaro/Documents/projects/cpp/Main.cpp"}, "name": "main"}]}, "success": true, "seq": 39}
[jsonrpc] e[06:07:16.327] --> scopes[10] {"type":"request","seq":10,"command":"scopes","arguments":{"frameId":0}}
[jsonrpc] e[06:07:16.329] <-- scopes[10] {"request_seq": 10, "type": "response", "command": "scopes", "body": {"scopes": [{"variablesReference": 1, "name": "Locals", "presentationHint": "locals", "expensive": false, "namedVariables": 2, "line": 7}, {"variablesReference": 2, "name": "Registers", "presentationHint": "registers", "expensive": false, "namedVariables": 60, "line": 7}]}, "success": true, "seq": 40}
[jsonrpc] e[06:07:16.430] --> stackTrace[11] {"type":"request","seq":11,"command":"stackTrace","arguments":{"threadId":1,"startFrame":1,"levels":19}}
[jsonrpc] e[06:07:16.430] --> variables[12] {"type":"request","seq":12,"command":"variables","arguments":{"variablesReference":1}}
[jsonrpc] e[06:07:16.447] <-- stackTrace[11] {"request_seq": 11, "type": "response", "command": "stackTrace", "body": {"stackFrames": []}, "success": true, "seq": 41}
[jsonrpc] i[06:07:26.430] [12] timed-out request 'variables'
[jsonrpc] e[06:07:50.117] --> evaluate[13] {"type":"request","seq":13,"command":"evaluate","arguments":{"frameId":0,"expression":"vector","context":"hover"}}
[jsonrpc] i[06:08:00.117] [13] timed-out request 'evaluate'

Thank you in advance.

@svaante
Copy link
Owner

svaante commented Jan 27, 2025

Hey and thank you for the detailed bug report and sorry for the long lead time.

I tried today to reproduce the issue with GDB 15.2 and dape 19 but with no success.
This seams like a GDB issue to me, are you able to reproduce on GDB 16?
To be able to use 16 you need to either use dape from master or turn of GDB workaround defer-launch-attach:

Run adapter: gdb defer-launch-attach t

@ktrarai
Copy link
Author

ktrarai commented Jan 29, 2025

Thank you for your response.

Unfortunately, the issue is still reproduced with GDB 16 in my environment. (Strictly speaking, the greedy memory consumption no longer happens.)

To install GDB 16.1 on Fedora 41, I took the steps like the following:

sudo dnf install gmp-devel mpfr-devel texinfo python3-devel
mkdir gdb && cd $_
# download gdb-16.1.tar.xz.sig and gdb-16.1.tar.xz to this directory via https://sourceware.org/gdb/download/
wget https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpgv --keyring ./gnu-keyring.gpg gdb-16.1.tar.xz.sig gdb-16.1.tar.xz
tar -xvJf gdb-16.1.tar.xz
cd gdb-16.1/
mkdir build && cd $_
../configure --with-python
make
sudo make install

And I executed dape 0.21.0 (ELPA) on the same code with the option you suggest:

Run adapter: gdb defer-launch-attach t

*dape-repl*

* Welcome to Dape REPL! *
Available Dape commands: debug, next, continue, pause, step, out, up, down, threads, stack, modules, sources, breakpoints, scope, watch, restart, kill, disconnect, quit, cd
Empty input will rerun last command.

* Adapter started with "gdb --interpreter=dap" *
GNU gdb (GDB) 16.1
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
No source file named /home/kentaro/Documents/projects/cpp/Main.cpp.
Breakpoint 1 (-source /home/kentaro/Documents/projects/cpp/Main.cpp -line 6) pending.
* Command "launch" timed out after 10 seconds, the timeout period is configurable with `dape-request-timeout' *
* Request timeout *
> 

*dape-connection events*

[jsonrpc] e[07:21:24.615] --> initialize[1] {"type":"request","seq":1,"command":"initialize","arguments":{"clientID":"dape","adapterID":null,"pathFormat":"path","linesStartAt1":true,"columnsStartAt1":true,"supportsRunInTerminalRequest":true,"supportsArgsCanBeInterpretedByShell":true,"supportsProgressReporting":true,"supportsStartDebuggingRequest":true}}
[stderr]  
[stderr]  
[stderr]  nil
[stderr]  nil
[stderr]  Process dape adapter stderr finished
[jsonrpc] e[07:21:24.687] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "GNU gdb (GDB) 16.1\n"}, "seq": 1}
[jsonrpc] e[07:21:24.688] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Copyright (C) 2024 Free Software Foundation, Inc.\n"}, "seq": 2}
[jsonrpc] e[07:21:24.688] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"}, "seq": 3}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "This is free software: you are free to change and redistribute it.\n"}, "seq": 4}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "There is NO WARRANTY, to the extent permitted by law.\n"}, "seq": 5}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"show copying\" and \"show warranty\" for details.\n"}, "seq": 6}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "This GDB was configured as \"x86_64-pc-linux-gnu\".\n"}, "seq": 7}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"show configuration\" for configuration details.\n"}, "seq": 8}
[jsonrpc] e[07:21:24.702] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "For bug reporting instructions, please see:\n"}, "seq": 9}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "<https://www.gnu.org/software/gdb/bugs/>.\n"}, "seq": 10}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Find the GDB manual and other documentation resources online at:\n"}, "seq": 11}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "    <http://www.gnu.org/software/gdb/documentation/>.\n"}, "seq": 12}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "\n"}, "seq": 13}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "For help, type \"help\".\n"}, "seq": 14}
[jsonrpc] e[07:21:24.703] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Type \"apropos word\" to search for commands related to \"word\".\n"}, "seq": 15}
[jsonrpc] e[07:21:24.703] <-- initialize[1] {"request_seq": 1, "type": "response", "command": "initialize", "success": true, "body": {"supportsTerminateRequest": true, "supportTerminateDebuggee": true, "supportsCancelRequest": true, "supportsLoadedSourcesRequest": true, "supportsLogPoints": true, "supportsConditionalBreakpoints": true, "supportsHitConditionalBreakpoints": true, "supportsFunctionBreakpoints": true, "supportsInstructionBreakpoints": true, "exceptionBreakpointFilters": [{"filter": "assert", "label": "Ada assertions", "supportsCondition": true}, {"filter": "exception", "label": "Ada exceptions", "supportsCondition": true}, {"filter": "throw", "label": "C++ exceptions, when thrown", "supportsCondition": true}, {"filter": "rethrow", "label": "C++ exceptions, when re-thrown", "supportsCondition": true}, {"filter": "catch", "label": "C++ exceptions, when caught", "supportsCondition": true}], "supportsExceptionFilterOptions": true, "supportsModulesRequest": true, "supportsDelayedStackTraceLoading": true, "supportsDisassembleRequest": true, "supportsValueFormattingOptions": true, "supportsEvaluateForHovers": true, "supportsSetExpression": true, "supportsSetVariable": true, "supportsConfigurationDoneRequest": true, "supportsBreakpointLocationsRequest": true, "supportsReadMemoryRequest": true, "supportsWriteMemoryRequest": true, "supportsSingleThreadExecutionRequests": true, "supportsSteppingGranularity": true}, "seq": 16}
[jsonrpc] e[07:21:24.703] <-- initialized {"type": "event", "event": "initialized", "seq": 17}
[jsonrpc] e[07:21:24.703] --> setExceptionBreakpoints[2] {"type":"request","seq":2,"command":"setExceptionBreakpoints","arguments":{"filters":[]}}
[jsonrpc] e[07:21:24.705] <-- setExceptionBreakpoints[2] {"request_seq": 2, "type": "response", "command": "setExceptionBreakpoints", "success": true, "body": {"breakpoints": []}, "seq": 18}
[jsonrpc] e[07:21:24.705] --> setBreakpoints[3] {"type":"request","seq":3,"command":"setBreakpoints","arguments":{"source":{"path":"/home/kentaro/Documents/projects/cpp/Main.cpp"},"breakpoints":[{"line":6}],"lines":[6]}}
[jsonrpc] e[07:21:24.706] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "No source file named /home/kentaro/Documents/projects/cpp/Main.cpp.\n"}, "seq": 19}
[jsonrpc] e[07:21:24.706] <-- output {"type": "event", "event": "output", "body": {"category": "stdout", "output": "Breakpoint 1 (-source /home/kentaro/Documents/projects/cpp/Main.cpp -line 6) pending.\n"}, "seq": 20}
[jsonrpc] e[07:21:24.706] <-- setBreakpoints[3] {"request_seq": 3, "type": "response", "command": "setBreakpoints", "success": true, "body": {"breakpoints": [{"id": 1, "verified": false, "reason": "pending"}]}, "seq": 21}
[jsonrpc] e[07:21:24.706] --> configurationDone[4] {"type":"request","seq":4,"command":"configurationDone"}
[jsonrpc] e[07:21:24.707] <-- configurationDone[4] {"request_seq": 4, "type": "response", "command": "configurationDone", "success": false, "message": "launch or attach not specified", "seq": 22}
[jsonrpc] e[07:21:24.707] --> launch[5] {"type":"request","seq":5,"command":"launch","arguments":{"request":"launch","program":"./a.out","args":[],"stopAtBeginningOfMainSubprogram":false}}
[jsonrpc] i[07:21:34.708] [5] timed-out request 'launch'
[jsonrpc] e[07:21:34.709] --> terminate[6] {"type":"request","seq":6,"command":"terminate"}
[jsonrpc] e[07:21:34.728] <-- terminate[6] {"request_seq": 6, "type": "response", "command": "terminate", "success": true, "seq": 23}
[jsonrpc] D[07:21:34.728] Connection state change: `killed
'

----------b---y---e---b---y---e----------

Thank you again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants