Bug 434415 - Errors after Target's Hardware Breakpoints Limit is reached are ignored.
Summary: Errors after Target's Hardware Breakpoints Limit is reached are ignored.
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-dsf-gdb (show other bugs)
Version: 8.1.2   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-08 08:36 EDT by Mario Prieto CLA
Modified: 2020-09-04 15:25 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mario Prieto CLA 2014-05-08 08:36:23 EDT
If one sets more hardware breakpoints/watchpoints than the target system supports (in our case 4) then CDT/DSF still creates the breakpoints ignoring the errors comming from GDB. See in the MI-Output below how I create 5 HW-BPs of which the first 4 work and the last one don't but for CDT all of them worked (they are on the BPs list). 

This has two side effects:
a) The user thinks that the BP was set but it wasn't (minor)
b) If I try to delete all BPs, CDT removes them from the list but it fails to remove the one that wasn't created. This makes that in some cases when I want to resume (F8) it will try to send a command to set a BP which always fails and I'm not able to resume any more.

MI-Output:

112,703 59-break-insert --thread-group i1 -h -f D:\Projects\SolutionCenter\runtime-at.bachmann.sc.co\
re.IDE\testdemo\testdemo_app.c:248
113,085 59^done,bkpt={number="13",type="hw breakpoint",disp="keep",enabled="y",addr="0x06d70380",fun\
c="AppMain",file="../testdemo_app.c",fullname="D:\\testdemo\\testdemo_app.c",line="248",thread-groups=["i1"],
times="0",original-location="D:\\testdemo\\testdemo_app.c:248"}
113,085 (gdb) 
113,123 60-break-delete --thread-group i1 1
113,123 60^done
113,123 (gdb) 
124,636 61-break-insert --thread-group i1 -h -f D:\Projects\SolutionCenter\runtime-at.bachmann.sc.co\
re.IDE\testdemo\testdemo_app.c:251
124,990 61^done,bkpt={number="14",type="hw breakpoint",disp="keep",enabled="y",addr="0x06d70389",fun\
c="AppMain",file="../testdemo_app.c",fullname="D:\\testdemo\\testdemo_app.c",line="251",thread-groups=["i1"],
times="0",original-location="D:\\testdemo\\testdemo_app.c:251"}
124,990 (gdb) 
125,003 62-break-delete --thread-group i1 9
125,019 62^done
125,019 (gdb) 
130,973 63-break-insert --thread-group i1 -h -f D:\Projects\SolutionCenter\runtime-at.bachmann.sc.co\
re.IDE\testdemo\testdemo_app.c:253
131,304 63^done,bkpt={number="15",type="hw breakpoint",disp="keep",enabled="y",addr="0x06d70392",fun\
c="AppMain",file="../testdemo_app.c",fullname="D:\\testdemo\\testdemo_app.c",line="253",thread-groups=["i1"],
times="0",original-location="D:\\testdemo\\testdemo_app.c:253"}
131,304 (gdb) 
131,351 64-break-delete --thread-group i1 10
131,352 64^done
131,352 (gdb) 
137,241 65-break-insert --thread-group i1 -h -f D:\Projects\SolutionCenter\runtime-at.bachmann.sc.co\
re.IDE\testdemo\testdemo_app.c:257
137,664 65^done,bkpt={number="16",type="hw breakpoint",disp="keep",enabled="y",addr="0x06d703a3",fun\
c="AppMain",file="../testdemo_app.c",fullname="D:\\testdemo\\testdemo_app.c",line="257",thread-groups=["i1"],
times="0",original-location="D:\\testdemo\\testdemo_app.c:257"}
137,664 (gdb) 
137,671 66-break-delete --thread-group i1 11
137,687 66^done
137,687 (gdb) 
143,692 67-break-insert --thread-group i1 -h -f D:\Projects\SolutionCenter\runtime-at.bachmann.sc.co\
re.IDE\testdemo\testdemo_app.c:263
144,093 67^error,msg="Hardware breakpoints used exceeds limit."
144,093 (gdb)