-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Description
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
- Start a debug session against the remote target.
- Set a normal source breakpoint (works and hits).
- Obtain the address of a variable
- Add a data breakpoint via the Command Palette on that address.
(Adapter sends-break-watch -a *(0x94411c4); GDB reportshw-awpt={number="2"}.) - 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 astoppedevent 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
Labels
No labels