gdb 및 objdump에 관한 여러 가지 질문이 있습니다. 내가 할 경우 objdump를gdb 및 objdump로 디버깅
에서
주소 :
Disassembly of section .text:
080484a0 <_start>:
80484a0: 31 ed xor %ebp,%ebp
80484a2: 5e pop %esi
80484a3: 89 e1 mov %esp,%ecx
나는 이러한 숫자를 가정 objdump를 -d 이진 파일 이름는, 나는이 부분을 포함 출력을 얻을 첫 번째 열은 주소입니까? 그러나 프로세스를로드 할 때마다 메모리의 임의의 위치에 배치되므로 코드가 매번 다른 주소를 갖기 때문에 이러한 주소를 알 수있는 방법을 이해할 수 없습니까? 또는이 주소가 프로세스의 주소 인 addres-space입니까?
< _start> 아래에 나열된 값은 무엇입니까? 코드
를 단계별로
GDB는 내가 소스 코드가없는있는 바이너리 파일을 얻었다. 나는 프로그램을 진행하고 싶지만 기호 정보는 없다. 함수 이름이나 줄 번호에 중단 점을 설정할 수 없습니다. 주소에 중단 점을 설정하려고 시도했지만이 방법이 효과적 이었지만 프로그램을 단계별로 실행하는 방법을 알 수는 없습니다. 내가 할 때 : (gdb) s 또는 (gdb) n 줄 정보가없고 그냥 전체 기능을 실행합니다. 단계별 가이드가 있습니까? 아니면 조립 지침을 단계별로 안내 할 수 있습니까?