이 같은 구조를 가지고있다. 이 구조체에 대한 포인터는 다른 함수로 전달되므로이 구조체의 변수가 업데이트됩니다. 나는 그것이 많은 기능을 통해 여행 으로이 구조체에서 변수에 대한 워치 포인트를 설정하고 싶습니다. 어떻게 변화하는지 확인하십시오. 이 감시 지점을 어떻게 설정합니까?gdb를 감시 점은
4
A
답변
6
먼저
watch myStructInstance.a
처럼 중단 점은 휴식를 사용하여 구조체의 인스턴스를 생성,
처럼break myfile.c:9
그럼 그냥 감시 점을 설정 시계를 사용하여 설정 변수 의 경우 또는
watch *0x7ffff75177f0
메모리 주소. 메모리 주소는 이제 때마다 변수 a 또는 지정된 메모리 주소가 변경됩니다 GDB가 중단됩니다
print &myStructInstance.a
처럼 인쇄를 사용하여 쉽게 구할 수있다.
2
내 가상 메모리 시뮬레이터를 디버깅 할 때 같은 문제가 발생합니다. 문제는 구조체 내부의 데이터를 자세히 살펴 보는 것입니다.
인쇄를 사용하여 확인했지만 너무 시끄 럽습니다. 15 개 이상의 변수를 출력해야하기 때문입니다.
또한 워치 포인트를 사용해 보았지만 내 컴퓨터에서는 하드웨어 워치 포인트를 4 개까지만 설정할 수 있습니다. 그건 내 목표에 가깝지 않다.
마지막으로 .gdbinit 파일에서 사용자 정의 함수를 사용하여 해결책을 찾았습니다. 예 : 나는 좀 더 편리하게 사용할 수 있도록
define lookintoStructs
if mystruct != 0x0
print mystruct[0]
print mystruct[1]
print mystruct[2]
print mystruct[3]
print mystruct[4]
print mystruct[5]
end
end
를 사용하여 내 구조의 배열을보고 싶은 경우에, 나는 그것이 GDB 내 다음 명령을 훅하고 싶습니다.
define hook-next
lookintoStructs
end
그래서 gdb에서 next 또는 n을 호출하면 lookintoStructs가 자동으로 호출 될 수 있습니다. 나를 위해 잘 작동합니다.
관련 문제
- 1. 변수 감시 점은 이클립스/ADT 안드로이드
- 2. gdb를 사용하여 C++ 동적 배열을 "감시"하는 방법은 무엇입니까?
- 3. gdb를 통해 stl 벡터의 내용보기
- 4. gdb를 모니터로 사용 하시겠습니까?
- 5. 점은,
- 6. 점은
- 7. GDB 하드웨어 감시 점/소프트웨어 감시 점 설정 방법
- 8. ivdvv 감시 시스템 개발
- 9. 레이크 - 변경 사항 감시
- 10. XCode 디버깅을위한 감시 창
- 11. MPLAB 감시 윈도우에서 구조보기
- 12. 클라우드 감시 알람 구성
- 13. COM 개체에 대한 감시
- 14. 감시 제어 루프 사용
- 15. 안드로이드에서 ndk-gdb를 작동시키는 방법?
- 16. 리눅스 커널 3.0.0의 모든 하드웨어 감시 점 제거
- 17. gdb를 사용한 디버깅 문제
- 18. gdb를 효과적으로 사용하기
- 19. GDB를 기본 디버거로 사용
- 20. GDB를 사용하여 프로세스 디버그
- 21. cygwin에 gdb를 추가하는 방법
- 22. 파이썬에서 GDB를 호출하고 제어하십시오.
- 23. gdb를 사용하여 C++ 디버그
- 24. .net에서 감시 카메라 뷰어 프로그래밍
- 25. Eclipse CDT - gdb 감시 식
- 26. 가변 값 변경을위한 Javascript 감시?
- 27. Eclipse PDT의 xDebug가있는 감시 점?
- 28. Visual Studio Debugger에서 기능 감시
- 29. 행을 삭제하거나 감시 데이터를 넣으십시오.
- 30. gdb로 멀티 스레드 응용 프로그램을위한 감시 점 설정