disassemble

2) gdb 출력 형식 지정

jinkwon.kim 2017. 3. 18. 00:05
728x90
반응형

gdb 출력 형식 지정

[변수 값 출력]

p/[format] $보고자하는것

p/t   //  2진수
p/o  //  8진수
p/d  // 10진수 (int)
p/u  // 부호없는 10진수 (unsigned int)
p/x  // 16진수 //주소를 보기위해 가장 많이 쓴다.
p/c  // 문자형 출력 (크기가 4byte 이상인 변수는 처음 1바이트를 출력한다.)
p/f   // 부동 소수점 값 형식으로 출력
p/a  // 가장 가까운 심볼의 오프셋을 출력
     (p/a 0x0801295 를 입력하면, 0x0801295와 가장 가까운 어셈블리 명령어줄의 offset을 출력)



[메모리 출력]

명령어는 메모리 특정 범위의 값들을 확인하는데 사용하는 명령어다.
x/[범위][출력format][단위]
x/[범위][단위][출력format]

x/64bx $esp
:: 스택포인터의 시작지점부터 b(1바이트를) 64번 출력하는데, x(16진수)로 출력하라.

x/32cw main
:: 메인함수의 시작지점부터 w(4바이트를) 32번 출력하는데 c(문자열)로 출력하라.

(gdb) x/16bx $esp
0xbf94e3f0:     0x00    0x00    0x00    0x00    0x84    0x9a    0x04    0x08
0xbf94e3f8:     0x08    0xe4    0x94    0xbf    0x41    0x83    0x04    0x08

728x90
반응형

'disassemble' 카테고리의 다른 글

4) gdb TUI에 대해서  (0) 2017.03.18
3) hello world disassemble  (0) 2017.03.18
1) stack frame에대한 정리  (0) 2017.03.11
0) disassemble의 종류 GAS / NASM  (0) 2017.03.11