공유 라이브러리를 디버깅하고 있습니다. Linux 호스트에서 ASLR을 활성화 할 때 버그가 발생할 수 있으며 ASLR이 비활성화되면 버그가 사라지는 것을 발견했습니다.gdb가 임의의 주소에 공유 라이브러리를로드하도록합니다.
gdb로 공유 라이브러리를 디버그하고 싶습니다. 그러나 나는 고정 된 주소에 공유 된 라이브러리를 항상로드하는 것을 발견했기 때문에 버그가 사라졌습니다.
이 gdb의 기능을 비활성화 할 수있는 방법이 있습니까?
공유 라이브러리를 디버깅하고 있습니다. Linux 호스트에서 ASLR을 활성화 할 때 버그가 발생할 수 있으며 ASLR이 비활성화되면 버그가 사라지는 것을 발견했습니다.gdb가 임의의 주소에 공유 라이브러리를로드하도록합니다.
gdb로 공유 라이브러리를 디버그하고 싶습니다. 그러나 나는 고정 된 주소에 공유 된 라이브러리를 항상로드하는 것을 발견했기 때문에 버그가 사라졌습니다.
이 gdb의 기능을 비활성화 할 수있는 방법이 있습니까?
이 gdb의 기능을 비활성화 할 수있는 방법이 있습니까?
예, 프로그램을 실행하기 전에 set disable-randomization off
수 있습니다. 시작된 실행 변경의 동작을 남겨주세요
오프
설정 해제 - 랜덤 : gdb documentation의이 부분을 참조하십시오. 일부 버그는 프로그램이 특정 주소로로드 될 때만 추악한 머리 뒤를 뒤집습니다. GDB에서 프로그램을 실행할 때 버그가 사라지면 독립 실행 형 프로그램의 경우 GNU/Linux와 같은 플랫폼에서 GDB가 기본적으로 주소 의 무작위 할당을 비활성화하기 때문일 수 있습니다. set disable-randomization을 off로 사용하여 이 그러한 어려운 버그를 재현하려고 시도하십시오.