instruction pointer과 malloc함수 질문입니다.

milkrookie의 이미지

안녕하세요. 아무리 구글링을 해봐도 해결이 안되서 여기에 질문을 드립니다.

제가 프로그램을 작성해서 pin을 이용해서 분석하는 작업을 하려고 pin을 공부중인데요.
pin 예제 중에 Memory Reference Trace라는 것이 있어 간단한 프로그램을 작성해서 돌려보았습니다.
Memory Reference Trace는 프로그램을 실행하면서 메모리를 읽거나 쓰는 명령어이면 각각의 명령어의 ip와 메모리 주소값을 출력해주는 프로그램인데요.
결과를 보고 좀 이상해서 질문드립니다.
제가 알기로는 ip는 명령어의 주소를 나타내는거라 어셈블리어로 바꾸었을 때의 주소를 말하는 걸로 알고 있었는데요. 위의 Memory Reference Trace를 실행해보니 아래처럼 어셈블리 코드의 주소와는 다른 ip값들이 찍혀서 혹시 이 값들은 뭘 의미하는지 궁금합니다.
------------------------------------------------------------------
IP READ/WRITE ADDR
0x7fffe47f5fd8: R 0x7fffffffddb8
0x7fffe47f5fdd: R 0x7fffffffddc0
0x7fffe47f5fe2: R 0x7fffffffddc8
0x7fffe47f5fe7: R 0x7fffffffddd0
0x7fffe47f5ff0: R 0x7fffffffddd8
0x401406: W 0x7fffffffde00
0x40140a: R 0x7fffffffdde8
0x40140e: W 0x603010
0x401414: R 0x7fffffffdde8
0x40141c: W 0x603018
-------------------------------------------------------------------
밑에 0x401406같은 부분은 어셈블리코드를 가리키는 ip같은데 위에 0x7fff로 시작하는 값들은 뭘 말하는 건지 궁금합니다.

그리고 한가지더 궁금한게 있는데 malloc을 사용하다보니 메모리사이즈가 128K이하일 경우에는 낮은 주소(0x40~으로 시작하는 주소)에 할당이되고 128K이상일 경우에는 높은 주소(0x7fff~로 시작하는 주소)로 할당이 되는데 왜그런건지요.. heap영역이 64bit에서는 2군데로 나누어져 있는건가요??
제가 사용한 환경은 ubuntu 12.04 64bit 입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.