GDB에서는 중단점을 설정하여 특정 변수를 모니터링하고 해당 변수가 액세스되거나 수정되는 시기를 식별할 수 있습니다. 다음은 이 목적을 위한 GDB 명령 및 기술에 대한 분석입니다:
Watchpoint 명령:
메모리 위치에 감시점 설정:
할 수 있습니다. rwatch를 사용하여 메모리 위치에 감시점을 설정합니다. 명령:
gdb$ rwatch *0xfeedface
이것은 메모리 주소 0xfeedface를 읽을 때마다 중단점을 트리거합니다.
표현식에 대한 감시점 제한:
참고 다음을 포함하는 표현식에는 GDB 감시점을 설정할 수 없습니다. 변수:
gdb$ rwatch $ebx+0xec1a04f Expression cannot be implemented with read/access watchpoint.
이 문제를 해결하려면 표현식을 수동으로 확장하세요.
gdb$ print $ebx = 0x135700 gdb$ rwatch *0x135700+0xec1a04f
하드웨어 및 소프트웨어 지원:
하드웨어 감시점 소프트웨어 감시점보다 빠른 성능을 제공합니다. OS가 하드웨어 감시점을 지원하는지 확인하려면 다음 명령을 실행하세요.
gdb$ show can-use-hw-watchpoints
출력이 1이면 하드웨어 감시점을 사용할 수 있습니다.
위 내용은 중단점을 사용하여 GDB에서 변수 액세스 및 메모리 읽기/쓰기를 어떻게 모니터링할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!