리눅스 GDB 에서 disassemble 표시방법을 바꿀수 있을까요?
글쓴이: uyu423 / 작성시간: 화, 2014/02/18 - 3:31오전
두 개의 서버가 있습니다.
하나는 GDB 버전
GNU gdb (GDB) Fedora (7.0.1-50.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
이고 다른 하나는
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 Free Software Foundation, Inc.
입니다. 앞의 것을 2009버전 뒤에 것을 2003버전이라 하겠습니다.
문제는 똑같은 프로그램이라도 2003 버전에서는 메모리가 ebp 기준으로
: cmpl $0xffffffff,0xfffffdb4(%ebp)
와 같이 표시 되는데 2009 버전에서는 esp 기준으로
: cmpl $0xffffffff,0xd4(%esp)
와 같이 표시됩니다. ebp의 위치를 계산하는데 애를 먹고 있네요.
이게 순전히 버전의 차이인지 설정의 차이인지 잘 몰라서 글을 올려봅니다.
저 설정 값을 바꿀 수 있을까요? 아니면 gdb의 구버전을 구해다가 설치해야할까요
Forums:
컴파일러가 달라서 generation되는 코드가 다른
컴파일러가 달라서 generation되는 코드가 다른 것 아닌가요?
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
2003버전에서 컴파일한걸 그대로 2009버전
2003버전에서 컴파일한걸 그대로 2009버전 서버에서 disas 하면 다른걸 보니 컴파일러의 문제는 아닌듯 해서요 ㅜㅜ
댓글 달기