Android GDB 사용시 브레이크 문제

bellfive2000의 이미지

현재 Android 에서 GDB 사용하면서 Stagefright을 분석하는 중입니다.

현재 문제가 GDB상에서

(gdb) info b
Num Type Disp Enb Address What
2 breakpoint keep y 0xa90398f2 in android::MediaPlayer::setVideoSurface(android::sp const&)
at frameworks/base/media/libmedia/mediaplayer.cpp:222
breakpoint already hit 4 times
3 breakpoint keep y 0xa2f4ae94 in android::AwesomePlayer::initRenderer_l() at frameworks/base/media/libstagefright/AwesomePlayer.cpp:1021

브레이크 포인트가 2,3 번이 있는데 2번은 잡히는데 3번이 잡히지 않습니다.

해당 브레이크가 잘 잡혔나 cat/pid/maps로 봐도

a2f00000-a306b000 r-xp 00000000 b3:05 632 /system/lib/libstiagefright.so
a306b000-a3076000 rw-p 0016b000 b3:05 632 /system/lib/libstagefright.so

a9000000-a9058000 r-xp 00000000 b3:05 574 /system/lib/libmedia.so
a9058000-a9068000 rw-p 00058000 b3:05 574 /system/lib/libmedia.so

libmedia.so에 있는 것과 libstagefright.so 에 있는 것이 크게 틀리지 않게 잘 올라간 것 같은데요..

해당 포인트는 로그 상으로도 꼭 타야되는 부분이라 브레이크가 잡혀야 할 것 같은데 잡히지 않습니다.
제가 다른 부분을 봐야 하는 포인트라도 있다면 언급해주시면 많은 도움이 될 것 같습니다.

감사합니다.

bellfive2000의 이미지

기존 break잡히는 곳에서
step으로 계속 들어가봤습니다..

(gdb)
android::MediaPlayer::setVideoSurface (this=0x2e8618, surface=...)
at frameworks/base/media/libmedia/mediaplayer.cpp:223
223 if (surface != NULL)
(gdb) s
224 return mPlayer->setVideoSurface(surface->getISurface());
(gdb)
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

Program received signal SIGSEGV, Segmentation fault.

결국 죽어버리는데요..
이것 때문에 위에 잡히지 않는 현상이 나오는지..

답답하네요..ㅠ.ㅠ

익명 사용자의 이미지

전 진저브레이드인데 3번만 잡히네요...

(갤러리로 mp4, avi 재생했습니다)

익명 사용자의 이미지

저같은 경우는 prebuilt된 gdb로 잡을 경우 위의 error가 발생하나

codesourcery의 최신 toolchain으로 사용할 시
arm-2011.03/bin/arm-none-linux-gnueabi-gdb
<- 이넘인데~~

잘 넘어갑니다.

여전히 AwesomePlayer는 break가 잡히진 않네요..

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.