드라이버 하나 짜서 kgdb_breakpoint() 호출하니까 바로 멈추던데(이 상태에서 gdb로 붙이는거는 안되었음), 부팅하면서 kgdbwait명령으로 자동으로 브레이크포인트 걸리는거는 도저히 안되더라고요.
그런데, ttyUSB0이 아니라 ttyS0 이렇게 하니까 다 부팅 중에 멈추더라고요. 아마 breakpoint 제대로 걸린 게 아닐까 싶은데 도저히 확인할 수가 없네요.
제 생각에는 ttyUSB쪽으로는 도저히 안되는 것 같습니다.
아무래도 타겟 머신에 시리얼 포트가 있으면 잘 되지 않을까 싶은데 경과가 있으면 댓글 달아 주세요~~
아무래도 주중에 결과가 나지 않으면 다른 방식으로(적어도 printk등등을 활용해서 trace등은 가능하므로) 스터디를 진행해야 할 것 같습니다.
.
혹시 타겟보드가 eth 동작이 가능하시다면
KGDB 사용하실때 kgdb eth 를 통해 gdbserver로 연동하셔서 테스트 해보시길 추천드립니다. ^^
제가 예전에 작업해본 경험으로는 씨리얼로 테스트 하는것 보다는 정신 건강에 좋더라구요
커널커맨드로 아래 옵션 사용하였고
kgdboe=[target-port]@<target-ip>/[dev][target-macaddr],[host-port]@<host-ip>/[dev]
· target-port (optional): GDB port (default 6443)
· target-ip: target ip address (i.e DVEVM ip address)
· dev (optional): network interface (default eth0)
· host-port (optional): Host port use to send/recieve UDP packets (default 6442)
· host-ip: Host IP address
eth 사용시 kgdbwait 역시 잘 동작 되었었습니다.
제경우 ddd 통해 그냥저냥 잘 사용했습니다. 옵션으로 콘솔 메세지 확인도 가능했던걸로 기억합니다..