GDB에서 첫 번째 (그리고 가능한 유일한) 하드웨어 감시 점을 watch varname
을 통해 설정 한 후에는 삭제를 통해 제거 할 수 없습니다.리눅스 커널 3.0.0의 모든 하드웨어 감시 점 제거
GDB를 종료하더라도 다음 재부팅 때까지이 감시 점이 활성화 된 것처럼 보입니다. GDB를 다시 시작한 후에 또 다른 하드웨어 감시 점을 설정하려고하면, 모든 하드웨어 감시 점을 이미 가지고 있다는 커널 메시지가 로그에 나타납니다. Setting GDB hardware watchpoint/how to set software watchpoint과 같은 문제 인 것 같지만 하드웨어 감시 점이 필요하기 때문에 해결책이 적용되지 않습니다.
이 (또는 전체) 하드웨어 감시 점을 제거 할 수있는 도구 또는 시스템 호출이 있습니까? CPU는 Core i5이고 Linux 커널은 Ubuntu 11.10 (Oneiric Ocelot)의 3.0.0-17- 일반입니다.
이것은 버그와 같습니다. gdb는 ptrace를 사용하여 하드웨어 중단 점을 추가/제거합니다. 그래서 strace에서 gdb를 실행 해보고 하드웨어 중단 점과 관련된 ptrace 호출을 찾아서 잘하면, 어떤 일이 일어나고 있는지에 대한 단서를 얻을 수 있습니다. 또한 최신 커널과 gdb를 실행하고 있는지 확인하십시오. 업스트림 커널을 사용하는 것도 또 다른 옵션입니다. – Naveen
어떻게 제거하려고합니까? 어떻게됩니까? 최신 gdb (7.4)를 사용해 보셨습니까? – dbrank0
도움을 주셔서 감사합니다 - 오늘 커널을 3.0.0-19로 업그레이드했습니다. 이제 하나 이상의 하드웨어 감시 점을 만들 수 있으며 gdb가 닫히면 자동으로 제거됩니다. – Sven