Skip to content

Data breakpoints not working properly #458

@chroberino

Description

@chroberino

Hi! I’ve been testing the recently introduced data breakpoints feature. Creating a data breakpoint appears to succeed, but pressing Continue immediately fails with GDB warnings and the session stops.

Steps to Reproduce

  1. Start a debug session against the remote target.
  2. Set a normal source breakpoint (works and hits).
  3. Obtain the address of a variable
  4. Add a data breakpoint via the Command Palette on that address.
    (Adapter sends -break-watch -a *(0x94411c4); GDB reports hw-awpt={number="2"}.)
  5. Press Continue.

Actual Behavior

  • Continue fails and the session stops with warnings logged from GDB:
    Warning:
    Could not insert hardware watchpoint 2.
    Could not insert hardware breakpoints:
    You may have requested too many hardware breakpoints/watchpoints.
    
  • GDB returns error,msg="Command aborted." and the adapter reports a stopped event with reason "error".

Expected Behavior

  • Program should continue with the watchpoint armed and only stop on the configured data access (read/write).
  • If the target cannot arm a hardware watchpoint, the adapter should either:
    • fall back (optionally) to a software watchpoint, or
    • provide a clear, actionable error explaining why the watchpoint can’t be armed and how to adjust (e.g., reduce threads, change access type/size, or align the address/length).

Detailed Logs

1. Adding a normal breakpoint on a line of code:

From client: setBreakpoints({"source":{"name":"Main.c","path":"d:\\DbgTest\\Main.c"},"lines":[22],"breakpoints":[{"line":22}],"sourceModified":false})
GDB command: 12 -data-evaluate-expression "$_gthread"
GDB write command: 12 -data-evaluate-expression "$_gthread"
GDB result: 12 done,value="1"
GDB command: 12 -data-evaluate-expression "$_gthread" completed with data
GDB command: 13 -exec-interrupt --all
GDB write command: 13 -exec-interrupt --all
GDB result: 13 done
GDB command: 13 -exec-interrupt --all completed with data
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"\nThread "}}

Thread To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"1 received signal SIGTRAP, Trace/breakpoint trap.\n"}}
1 received signal SIGTRAP, Trace/breakpoint trap.
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"0x77a36e6c in ?? ()\n"}}
0x77a36e6c in ?? ()
GDB exec async: stopped,reason="signal-received",signal-name="SIGTRAP",signal-meaning="Trace/breakpoint trap",frame={addr="0x77a36e6c",func="??",args=[],arch="i386"},thread-id="1",stopped-threads="all"
GDB command: 14 -break-list
GDB write command: 14 -break-list
GDB result: 14 done,BreakpointTable={nr_rows="0",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[]}
GDB command: 14 -break-list completed with data
GDB command: 15 -break-insert --source "d:\\DbgTest\\Main.c" --line 22
GDB write command: 15 -break-insert --source "d:\\DbgTest\\Main.c" --line 22
GDB result: 15 done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",thread-groups=["i1"],times="0",original-location="-source d:\\DbgTest\\Main.c -line 22"}
GDB command: 15 -break-insert --source "d:\\DbgTest\\Main.c" --line 22 completed with data
To client: {"seq":0,"type":"response","request_seq":8,"command":"setBreakpoints","success":true,"body":{"breakpoints":[{"id":1,"line":22,"verified":true}]}}
GDB command: 16 -exec-continue
GDB write command: 16 -exec-continue
GDB result: 16 running
GDB command: 16 -exec-continue completed with data
GDB exec async: running,thread-id="all"
To client: {"seq":0,"type":"event","event":"continued","body":{"threadId":1,"allThreadsContinued":true}}
GDB notify async: breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",thread-groups=["i1"],times="1",original-location="-source d:\\DbgTest\\Main.c -line 22"}
To client: {"seq":0,"type":"event","event":"breakpoint","body":{"reason":"changed","breakpoint":{"id":1,"verified":true,"source":{"name":"d:\\DbgTest\\Main.c","path":"d:/DbgTest/Main.c"},"line":22}}}
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"[Switching to Thread 313]\n"}}
[Switching to Thread 313]
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"\n"}}

To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"Thread 8 hit Breakpoint 1, ProgramCyclic () at d:/DbgTest/Main.c:22\n"}}
Thread 8 hit Breakpoint 1, ProgramCyclic () at d:/DbgTest/Main.c:22
To client: {"seq":0,"type":"event","event":"output","body":{"category":"stdout","output":"22\t\tlong result = 0; \n"}}
22		long result = 0;
GDB exec async: stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x0949c938",func="ProgramCyclic",args=[],file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",arch="i386"},thread-id="8",stopped-threads="all"
To client: {"seq":0,"type":"event","event":"stopped","body":{"reason":"breakpoint","allThreadsStopped":true,"threadId":8}}
From client: threads(undefined)
GDB command: 17 -thread-info
GDB write command: 17 -thread-info
GDB result: 17 done,threads=[{id="1",target-id="Thread 224",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="2",target-id="Thread 225",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="3",target-id="Thread 226",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="4",target-id="Thread 285",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="5",target-id="Thread 293",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="6",target-id="Thread 299",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="7",target-id="Thread 306",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="8",target-id="Thread 313",frame={level="0",addr="0x0949c938",func="ProgramCyclic",args=[],file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Mai
GDB -cont-: 17 n.c",line="22",arch="i386"},state="stopped"},{id="9",target-id="Thread 320",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="10",target-id="Thread 327",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="11",target-id="Thread 334",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="12",target-id="Thread 341",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="13",target-id="Thread 956",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="14",target-id="Thread 959",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="15",target-id="Thread 1012",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="16",target-id="Thread 1018",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state
GDB -cont-: 17 ="stopped"},{id="17",target-id="Thread 1020",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="18",target-id="Thread 1021",frame={level="0",addr="0x00000000",func="??",args=[],arch="i386"},state="stopped"},{id="19",target-id="Thread 1024",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="20",target-id="Thread 1033",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="21",target-id="Thread 1086",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="22",target-id="Thread 1087",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="23",target-id="Thread 1089",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="24",target-id="Thread 1137",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="25",target-id="Thread 1161",frame={level="0",addr="0x77
GDB -cont-: 17 a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="26",target-id="Thread 1162",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="27",target-id="Thread 1163",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="28",target-id="Thread 1164",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="29",target-id="Thread 1165",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="30",target-id="Thread 1166",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="31",target-id="Thread 1167",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="32",target-id="Thread 1168",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="33",target-id="Thread 1169",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="34",target-
GDB -cont-: 17 id="Thread 1180",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"}],current-thread-id="8"
GDB command: 17 -thread-info completed with data
To client: {"seq":0,"type":"response","request_seq":9,"command":"threads","success":true,"body":{"threads":[{"id":1,"name":"1","running":false},{"id":2,"name":"2","running":false},{"id":3,"name":"3","running":false},{"id":4,"name":"4","running":false},{"id":5,"name":"5","running":false},{"id":6,"name":"6","running":false},{"id":7,"name":"7","running":false},{"id":8,"name":"8","running":false},{"id":9,"name":"9","running":false},{"id":10,"name":"10","running":false},{"id":11,"name":"11","running":false},{"id":12,"name":"12","running":false},{"id":13,"name":"13","running":false},{"id":14,"name":"14","running":false},{"id":15,"name":"15","running":false},{"id":16,"name":"16","running":false},{"id":17,"name":"17","running":false},{"id":18,"name":"18","running":false},{"id":19,"name":"19","running":false},{"id":20,"name":"20","running":false},{"id":21,"name":"21","running":false},{"id":22,"name":"22","running":false},{"id":23,"name":"23","running":false},{"id":24,"name":"24","running":false},{"id":25,"name":"25","running":false},{"id":26,"name":"26","running":false},{"id":27,"name":"27","running":false},{"id":28,"name":"28","running":false},{"id":29,"name":"29","running":false},{"id":30,"name":"30","running":false},{"id":31,"name":"31","running":false},{"id":32,"name":"32","running":false},{"id":33,"name":"33","running":false},{"id":34,"name":"34","running":false}]}}
From client: stackTrace({"threadId":8,"startFrame":0,"levels":20})
GDB command: 18 -stack-info-depth --thread 8 100
GDB write command: 18 -stack-info-depth --thread 8 100
GDB result: 18 done,depth="3"
GDB command: 18 -stack-info-depth --thread 8 100 completed with data
GDB command: 19 -stack-list-frames --thread 8 0 2
GDB write command: 19 -stack-list-frames --thread 8 0 2
GDB result: 19 done,stack=[frame={level="0",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",arch="i386"},frame={level="1",addr="0x00486b02",func="??",arch="i386"},frame={level="2",addr="0x00000000",func="??",arch="i386"}]
GDB command: 19 -stack-list-frames --thread 8 0 2 completed with data
To client: {"seq":0,"type":"response","request_seq":10,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1000,"source":{"name":"Main.c","path":"d:\\DbgTest\\Main.c","sourceReference":0},"line":22,"column":0,"name":"ProgramCyclic","instructionPointerReference":"0x0949c938"},{"id":1001,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00486b02"},{"id":1002,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00000000"}],"totalFrames":3}}
From client: evaluate({"expression":"AutoState","frameId":1000,"context":"watch"})
GDB command: 20 -stack-info-depth --thread 8 100
GDB write command: 20 -stack-info-depth --thread 8 100
From client: evaluate({"expression":"gInfeedUp","frameId":1000,"context":"watch"})
GDB command: 21 -stack-info-depth --thread 8 100
GDB write command: 21 -stack-info-depth --thread 8 100
From client: evaluate({"expression":"result","frameId":1000,"context":"watch"})
GDB command: 22 -stack-info-depth --thread 8 100
GDB write command: 22 -stack-info-depth --thread 8 100
From client: evaluate({"expression":"&RunOld","frameId":1000,"context":"watch"})
GDB command: 23 -stack-info-depth --thread 8 100
GDB write command: 23 -stack-info-depth --thread 8 100
GDB result: 20 done,depth="3"
GDB command: 20 -stack-info-depth --thread 8 100 completed with data
GDB command: 24 -var-create --thread 8 --frame 0 - * "AutoState"
GDB write command: 24 -var-create --thread 8 --frame 0 - * "AutoState"
GDB result: 21 done,depth="3"
GDB command: 21 -stack-info-depth --thread 8 100 completed with data
GDB result: 22 done,depth="3"
GDB command: 22 -stack-info-depth --thread 8 100 completed with data
GDB result: 23 done,depth="3"
GDB command: 23 -stack-info-depth --thread 8 100 completed with data
GDB command: 25 -var-create --thread 8 --frame 0 - * "gInfeedUp"
GDB write command: 25 -var-create --thread 8 --frame 0 - * "gInfeedUp"
GDB command: 26 -var-create --thread 8 --frame 0 - * "result"
GDB write command: 26 -var-create --thread 8 --frame 0 - * "result"
GDB command: 27 -var-create --thread 8 --frame 0 - * "&RunOld"
GDB write command: 27 -var-create --thread 8 --frame 0 - * "&RunOld"
GDB result: 24 done,name="var1",numchild="0",value="AUTO_IDLE",type="AutoStateEnum",has_more="0"
GDB command: 24 -var-create --thread 8 --frame 0 - * "AutoState" completed with data
To client: {"seq":0,"type":"response","request_seq":11,"command":"evaluate","success":true,"body":{"result":"AUTO_IDLE","type":"AutoStateEnum","variablesReference":0}}
GDB result: 25 done,name="var2",numchild="3",value="{...}",type="InfeedUpIFType",has_more="0"
GDB command: 25 -var-create --thread 8 --frame 0 - * "gInfeedUp" completed with data
To client: {"seq":0,"type":"response","request_seq":12,"command":"evaluate","success":true,"body":{"result":"{...}","type":"InfeedUpIFType","variablesReference":1000}}
GDB result: 26 done,name="var3",numchild="0",value="80146008",type="long",thread-id="8",has_more="0"
GDB command: 26 -var-create --thread 8 --frame 0 - * "result" completed with data
To client: {"seq":0,"type":"response","request_seq":13,"command":"evaluate","success":true,"body":{"result":"80146008","type":"long","variablesReference":0}}
GDB result: 27 done,name="var4",numchild="1",value="0x94411c4 <RunOld>",type="BOOL *",has_more="0"
GDB command: 27 -var-create --thread 8 --frame 0 - * "&RunOld" completed with data
To client: {"seq":0,"type":"response","request_seq":14,"command":"evaluate","success":true,"body":{"result":"0x94411c4 <RunOld>","type":"BOOL *","variablesReference":1001}}
From client: scopes({"frameId":1000})
To client: {"seq":0,"type":"response","request_seq":15,"command":"scopes","success":true,"body":{"scopes":[{"name":"Local","variablesReference":1002,"expensive":false},{"name":"Registers","variablesReference":1003,"expensive":true}]}}
From client: variables({"variablesReference":1002})
GDB command: 28 -stack-info-depth --thread 8 100
GDB write command: 28 -stack-info-depth --thread 8 100
GDB result: 28 done,depth="3"
GDB command: 28 -stack-info-depth --thread 8 100 completed with data
GDB command: 29 -stack-list-variables --thread 8 --frame 0 --simple-values
GDB write command: 29 -stack-list-variables --thread 8 --frame 0 --simple-values
GDB result: 29 done,variables=[{name="result",type="long",value="80146008"}]
GDB command: 29 -stack-list-variables --thread 8 --frame 0 --simple-values completed with data
GDB command: 30 -var-update 1 var3
GDB write command: 30 -var-update 1 var3
GDB result: 30 done,changelist=[]
GDB command: 30 -var-update 1 var3 completed with data
To client: {"seq":0,"type":"response","request_seq":16,"command":"variables","success":true,"body":{"variables":[{"name":"result","evaluateName":"result","value":"80146008","type":"long","memoryReference":"&(result)","variablesReference":0}]}}

2. Adding a data breakpoint (via command palette):

From client: dataBreakpointInfo({"name":"&RunOld"})
GDB command: 31 -symbol-info-functions --name ^&RunOld$
GDB write command: 31 -symbol-info-functions --name ^&RunOld$
GDB result: 31 done,symbols={}
GDB command: 31 -symbol-info-functions --name ^&RunOld$ completed with data
GDB command: 32 -data-evaluate-expression "&&RunOld"
GDB write command: 32 -data-evaluate-expression "&&RunOld"
GDB result: 32 error,msg="A syntax error in expression, near `&&RunOld'."
GDB command: 32 -data-evaluate-expression "&&RunOld" failed with 'A syntax error in expression, near `&&RunOld'.'
To client: {"seq":0,"type":"response","request_seq":17,"command":"dataBreakpointInfo","success":true,"body":{"dataId":null,"description":"No data breakpoint for &RunOld"}}
From client: evaluate({"expression":"&RunOld","frameId":1000,"context":"watch"})
GDB command: 33 -stack-info-depth --thread 8 100
GDB write command: 33 -stack-info-depth --thread 8 100
GDB result: 33 done,depth="3"
GDB command: 33 -stack-info-depth --thread 8 100 completed with data
GDB command: 34 -var-update 1 var4
GDB write command: 34 -var-update 1 var4
GDB result: 34 done,changelist=[]
GDB command: 34 -var-update 1 var4 completed with data
To client: {"seq":0,"type":"response","request_seq":18,"command":"evaluate","success":true,"body":{"result":"0x94411c4 <RunOld>","type":"BOOL *","variablesReference":1004}}
From client: dataBreakpointInfo({"name":"&RunOld"})
GDB command: 35 -symbol-info-functions --name ^&RunOld$
GDB write command: 35 -symbol-info-functions --name ^&RunOld$
GDB result: 35 done,symbols={}
GDB command: 35 -symbol-info-functions --name ^&RunOld$ completed with data
GDB command: 36 -data-evaluate-expression "&&RunOld"
GDB write command: 36 -data-evaluate-expression "&&RunOld"
GDB result: 36 error,msg="A syntax error in expression, near `&&RunOld'."
GDB command: 36 -data-evaluate-expression "&&RunOld" failed with 'A syntax error in expression, near `&&RunOld'.'
To client: {"seq":0,"type":"response","request_seq":19,"command":"dataBreakpointInfo","success":true,"body":{"dataId":null,"description":"No data breakpoint for &RunOld"}}
From client: dataBreakpointInfo({"name":"0x94411c4","bytes":1,"asAddress":true})
To client: {"seq":0,"type":"response","request_seq":20,"command":"dataBreakpointInfo","success":true,"body":{"dataId":"0x94411c4","description":"Data breakpoint for 0x94411c4","accessTypes":["read","write","readWrite"],"canPersist":true}}
From client: dataBreakpointInfo({"name":"0x94411c4","bytes":1,"asAddress":true})
To client: {"seq":0,"type":"response","request_seq":21,"command":"dataBreakpointInfo","success":true,"body":{"dataId":"0x94411c4","description":"Data breakpoint for 0x94411c4","accessTypes":["read","write","readWrite"],"canPersist":true}}
From client: setDataBreakpoints({"breakpoints":[{"dataId":"0x94411c4","accessType":"readWrite"}]})
GDB command: 37 -break-list
GDB write command: 37 -break-list
GDB result: 37 done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",thread-groups=["i1"],times="1",original-location="-source d:\\DbgTest\\Main.c -line 22"}]}
GDB command: 37 -break-list completed with data
GDB command: 38 -break-watch -a *(0x94411c4)
GDB write command: 38 -break-watch -a *(0x94411c4)
GDB result: 38 done,hw-awpt={number="2",exp="*(0x94411c4)"}
GDB command: 38 -break-watch -a *(0x94411c4) completed with data
GDB command: 39 -break-list
GDB write command: 39 -break-list
GDB result: 39 done,BreakpointTable={nr_rows="2",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",thread-groups=["i1"],times="1",original-location="-source d:\\DbgTest\\Main.c -line 22"},bkpt={number="2",type="acc watchpoint",disp="keep",enabled="y",what="*(0x94411c4)",thread-groups=["i1"],times="0",original-location="*(0x94411c4)"}]}
GDB command: 39 -break-list completed with data
To client: {"seq":0,"type":"response","request_seq":22,"command":"setDataBreakpoints","success":true,"body":{"breakpoints":[{"verified":true,"id":2}]}}

3. Pressing "continue" in the dbug controls:

From client: continue({"threadId":8})
GDB command: 40 -exec-continue --thread 8
GDB write command: 40 -exec-continue --thread 8
GDB result: 40 running
GDB command: 40 -exec-continue --thread 8 completed with data
GDB exec async: running,thread-id="all"
To client: {"seq":0,"type":"event","event":"continued","body":{"threadId":1,"allThreadsContinued":true}}
To client: {"seq":0,"type":"response","request_seq":23,"command":"continue","success":true,"body":{"allThreadsContinued":true}}
To client: {"seq":0,"type":"event","event":"output","body":{"category":"log","output":"Warning:\n"}}
Warning:
To client: {"seq":0,"type":"event","event":"output","body":{"category":"log","output":"Could not insert hardware watchpoint 2.\n"}}
Could not insert hardware watchpoint 2.
To client: {"seq":0,"type":"event","event":"output","body":{"category":"log","output":"Could not insert hardware breakpoints:\n"}}
Could not insert hardware breakpoints:
To client: {"seq":0,"type":"event","event":"output","body":{"category":"log","output":"You may have requested too many hardware breakpoints/watchpoints.\n"}}
You may have requested too many hardware breakpoints/watchpoints.
To client: {"seq":0,"type":"event","event":"output","body":{"category":"log","output":"\n"}}

GDB result: 40 error,msg="Command aborted."
GDB response with no command: 40
To client: {"seq":0,"type":"event","event":"stopped","body":{"reason":"error","allThreadsStopped":true,"threadId":1}}
From client: threads(undefined)
GDB command: 41 -thread-info
GDB write command: 41 -thread-info
GDB result: 41 done,threads=[{id="1",target-id="Thread 224",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="2",target-id="Thread 225",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="3",target-id="Thread 226",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="4",target-id="Thread 285",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="5",target-id="Thread 293",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="6",target-id="Thread 299",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="7",target-id="Thread 306",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="8",target-id="Thread 313",frame={level="0",addr="0x0949c938",func="ProgramCyclic",args=[],file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Mai
GDB -cont-: 41 n.c",line="22",arch="i386"},state="stopped"},{id="9",target-id="Thread 320",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="10",target-id="Thread 327",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="11",target-id="Thread 334",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="12",target-id="Thread 341",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="13",target-id="Thread 956",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="14",target-id="Thread 959",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="15",target-id="Thread 1012",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="16",target-id="Thread 1018",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state
GDB -cont-: 41 ="stopped"},{id="17",target-id="Thread 1020",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="18",target-id="Thread 1021",frame={level="0",addr="0x00000000",func="??",args=[],arch="i386"},state="stopped"},{id="19",target-id="Thread 1024",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="20",target-id="Thread 1033",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"},{id="21",target-id="Thread 1086",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="22",target-id="Thread 1087",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="23",target-id="Thread 1089",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="24",target-id="Thread 1137",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="25",target-id="Thread 1161",frame={level="0",addr="0x77
GDB -cont-: 41 a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="26",target-id="Thread 1162",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="27",target-id="Thread 1163",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="28",target-id="Thread 1164",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="29",target-id="Thread 1165",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="30",target-id="Thread 1166",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="31",target-id="Thread 1167",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="32",target-id="Thread 1168",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="33",target-id="Thread 1169",frame={level="0",addr="0x77a36e6c",func="??",args=[],arch="i386"},state="stopped"},{id="34",target-
GDB -cont-: 41 id="Thread 1180",frame={level="0",addr="0x77a3718c",func="??",args=[],arch="i386"},state="stopped"}],current-thread-id="8"
GDB command: 41 -thread-info completed with data
To client: {"seq":0,"type":"response","request_seq":24,"command":"threads","success":true,"body":{"threads":[{"id":1,"name":"1","running":false},{"id":2,"name":"2","running":false},{"id":3,"name":"3","running":false},{"id":4,"name":"4","running":false},{"id":5,"name":"5","running":false},{"id":6,"name":"6","running":false},{"id":7,"name":"7","running":false},{"id":8,"name":"8","running":false},{"id":9,"name":"9","running":false},{"id":10,"name":"10","running":false},{"id":11,"name":"11","running":false},{"id":12,"name":"12","running":false},{"id":13,"name":"13","running":false},{"id":14,"name":"14","running":false},{"id":15,"name":"15","running":false},{"id":16,"name":"16","running":false},{"id":17,"name":"17","running":false},{"id":18,"name":"18","running":false},{"id":19,"name":"19","running":false},{"id":20,"name":"20","running":false},{"id":21,"name":"21","running":false},{"id":22,"name":"22","running":false},{"id":23,"name":"23","running":false},{"id":24,"name":"24","running":false},{"id":25,"name":"25","running":false},{"id":26,"name":"26","running":false},{"id":27,"name":"27","running":false},{"id":28,"name":"28","running":false},{"id":29,"name":"29","running":false},{"id":30,"name":"30","running":false},{"id":31,"name":"31","running":false},{"id":32,"name":"32","running":false},{"id":33,"name":"33","running":false},{"id":34,"name":"34","running":false}]}}
From client: stackTrace({"threadId":1,"startFrame":0,"levels":20})
GDB command: 42 -stack-info-depth --thread 1 100
GDB write command: 42 -stack-info-depth --thread 1 100
GDB result: 42 done,depth="4"
GDB command: 42 -stack-info-depth --thread 1 100 completed with data
GDB command: 43 -stack-list-frames --thread 1 0 3
GDB write command: 43 -stack-list-frames --thread 1 0 3
GDB result: 43 done,stack=[frame={level="0",addr="0x77a36e6c",func="??",arch="i386"},frame={level="1",addr="0x767c7478",func="??",arch="i386"},frame={level="2",addr="0x00000730",func="??",arch="i386"},frame={level="3",addr="0x00000000",func="??",arch="i386"}]
GDB command: 43 -stack-list-frames --thread 1 0 3 completed with data
To client: {"seq":0,"type":"response","request_seq":25,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1000,"line":0,"column":0,"name":"??","instructionPointerReference":"0x77a36e6c"},{"id":1001,"line":0,"column":0,"name":"??","instructionPointerReference":"0x767c7478"},{"id":1002,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00000730"},{"id":1003,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00000000"}],"totalFrames":4}}
From client: stackTrace({"threadId":8,"startFrame":0,"levels":20})
GDB command: 44 -stack-info-depth --thread 8 100
GDB write command: 44 -stack-info-depth --thread 8 100
GDB result: 44 done,depth="3"
GDB command: 44 -stack-info-depth --thread 8 100 completed with data
GDB command: 45 -stack-list-frames --thread 8 0 2
GDB write command: 45 -stack-list-frames --thread 8 0 2
GDB result: 45 done,stack=[frame={level="0",addr="0x0949c938",func="ProgramCyclic",file="d:/DbgTest/Main.c",fullname="d:\\DbgTest\\Main.c",line="22",arch="i386"},frame={level="1",addr="0x00486b02",func="??",arch="i386"},frame={level="2",addr="0x00000000",func="??",arch="i386"}]
GDB command: 45 -stack-list-frames --thread 8 0 2 completed with data
To client: {"seq":0,"type":"response","request_seq":26,"command":"stackTrace","success":true,"body":{"stackFrames":[{"id":1004,"source":{"name":"Main.c","path":"d:\\DbgTest\\Main.c","sourceReference":0},"line":22,"column":0,"name":"ProgramCyclic","instructionPointerReference":"0x0949c938"},{"id":1005,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00486b02"},{"id":1006,"line":0,"column":0,"name":"??","instructionPointerReference":"0x00000000"}],"totalFrames":3}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions