Skip to content

Most visited

Recently visited

navigation

버그 보고

저희가 버그를 수정하고 싶어도 상당수 버그에는 필요한 정보가 포함되어 있지 않습니다. 그래서 저희는 보고서가 작성된 버그에만 저희의 제한된 리소스를 집중하고 있습니다. 버그가 수정될 확률을 높이려면 잠시 이 문서를 읽어주세요.

이 단계를 따르지 않으면 저희는 여러분의 버그를 종결 처리할 것입니다. 그런 경우에는 정보를 더 추가하여 다시 제출하시면 됩니다.

또한 Issue Tracker는 지원 포럼이 아님에 유의하세요. 도구 사용 방법이나 Android 앱의 작동 방식에 대한 질문이 있으시면 stackoverflow.com를 방문하거나 여러 Android 개발자 지원 리소스 중 하나를 방문하세요.

버그 보고 방법

  1. 최신 버전의 도구를 사용 중인지 확인합니다. 이미 수정된 버그를 걸러내는 데 저희가 많은 시간을 보내고 있습니다. 저희가 문제를 종결 처리하고 이 문서를 지적한 경우, 최신 버전 도구를 사용하여 재현 가능한 또 다른 문제를 열어보세요.

  2. 정확한 재현 단계를 설명합니다. 구체적으로 설명해 주세요. 최초 시도에서 저희가 해당 문제를 재현할 수 있다면 수정 가능성은 훨씬 더 높아집니다. 가능한 경우 코드 조각을 포함하세요(또는 버그 재현에 사용할 수 있는 Github 프로젝트를 알려주시면 더 좋습니다). 또한 화면의 내용을 보여주는 스크린샷도 도움이 됩니다.

  3. 예상했던 것과 실제로 보이는 것을 비교하여 설명합니다.

  4. 버전 정보를 포함합니다. Android Studio의 경우 이 정보는 About 대화상자에서 찾을 수 있습니다. Help > About을 클릭하세요(Mac의 경우 Android Studio > About Android Studio). 텍스트를 선택해서 복사할 필요가 없고 Control + C(Mac의 경우 Command + C)를 누른 다음 버그 보고서에 붙여넣으면 됩니다.

  5. 해당되는 경우, 어떤 버전의 자바를 사용 중인지 나열합니다(Android Studio의 경우 이 정보는 About 상자에 포함되어 있습니다).

  6. 어떤 버전의 운영체제를 사용 중인지 나열합니다.

  7. 버그에 대한 요약 설명을 선택합니다. "Bug," "Issue," "Exception," "Not working" 등의 요약 설명으로 제출되는 버그가 얼마나 많은지 아신다면 놀랄 것입니다.

  8. 어떤 종류의 버그는 추가적인 정보가 필요합니다.

다시 말하지만, 버그 재현을 위한 명확한 지침이 매우 중요합니다. 가능한 경우, 파일이나 프로젝트를 공유하면 버그 재현에 도움이 됩니다. 하지만 소유권이 있는 소스 코드를 버그 보고서에 첨부해서는 안됩니다. 또한 원하는 내용을 보여주는 스크린샷도 도움이 됩니다.

이 정보를 수집했다면 여기에서 버그를 제출하세요.

Android Studio 버그에 대한 세부정보

Android Studio 버그에 대한 다음과 같은 추가적인 정보를 포함합니다.

IDE가 멈추는 경우

IDE가 매우 느려지거나 완전히 멈춰버리면 몇 개의 스레드 덤프를 생성하고 버그 보고서에 첨부합니다. 그러면 IDE가 무엇 때문에 그렇게 바쁜지(또는 IDE가 어떤 리소스를 경합 중인지) 알 수 있습니다.

IDE가 느려지긴 하지만 멈추진 않는 경우에는 idea.log 파일을 첨부합니다(Help > Show Log in Finder 선택). 그러면 IDE가 느려진 이유가 로그에 지속적으로 오류를 기록하기 때문인지 여부를 알 수 있습니다.

IDE에서 메모리가 부족한 경우

IDE에서 메모리가 부족하면 다음 코드를 실행하여 힙 히스토그램을 생성하세요.

jmap -histo:live <pid>

IDE가 다운되거나 예외를 발생하는 경우

다른 유형의 다운에 대해서는 idea.log 파일을 첨부하세요. Help > Show Log in Finder를 선택합니다.

스레드 덤프 생성

스레드 덤프는 JVM에서 실행 중인 모든 스레드의 출력이며 각 스레드의 경우 모든 스택프레임의 출력입니다. 이를 통해 IDE가 무엇 때문에 그렇게 바쁜지 쉽게 알 수 있습니다. 특히 몇 개의 스레드 덤프가 몇 초 차이로 생성되는 경우 쉽게 확인할 수 있습니다.

CPU가 느려지고 IDE가 매우 바쁜 버그나 IDE가 멈추는 듯한 버그의 경우, 스레드 덤프를 통해 어떤 코드에서 많은 작업이 수행 중인지 또는 어떤 스레드가 리소스를 경합 중이며 교착 상태를 유발하는지 정확히 찾아낼 수 있습니다.

JDK에서는 "jstack"이라는 도구가 제공되며 이 도구를 사용하여 스레드 덤프를 생성할 수 있습니다. 먼저, Android Studio 프로세스의 프로세스 ID를 찾아야 합니다. 이를 위해 "jps" 명령을 사용할 수 있습니다. (jstack과 jps는 모두 JDK의 bin 디렉토리에 있습니다. 여러 개의 JDK가 설치된 경우, Android Studio에서 실행 중인 것과 동일한 버전을 사용해야 하며, 이 버전은 Android Studio의 About 상자에서 확인할 수 있습니다.)

Linux, Mac의 경우:

jps -mv | grep studio

Windows의 경우:

jps -mv | findstr studio

예를 들어, 이 경우 다음과 같은 긴 줄이 출력됩니다.

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

왼쪽의 첫 번째 숫자(이 경우 37605)는 프로세스 ID입니다.

그런 다음, 스레드 덤프를 생성하고 dump.txt라는 파일에 저장할 수 있습니다.

jstack -l pid >> dump.txt

이 명령이 작동하지 않는 경우, 스레드 덤프를 생성할 수 있는 플랫폼별 방법이 몇 가지 더 있습니다. 자세한 지침은 IntelliJ 지원을 참조하세요.

Instant Run 버그에 대한 세부정보

Instant Run의 문제를 보고하려면 다음 단계를 따르세요.

  1. Android Studio에서 Instant Run 세션에 대한 추가적인 정보를 기록하도록 설정합니다.
  2. 이전 단계를 완료하기 전에 발생했던 문제에 대한 피드백을 제출하려면, 해당 문제를 재현해 보세요.
  3. Instant Run 문제가 발생한 직후에 보고서를 제출합니다.

저희가 수집하는 것

IDE에서 Instant Run 세션에 대해 다음과 같은 정보를 기록하도록 설정하면 Android Studio 팀이 여러분의 문제를 더욱 정확히 이해할 수 있으며, 이 용도로만 사용됩니다.

추가적인 로깅 활성화

이 정보를 캡처하고 보내는 권한을 Android Studio에 부여하려면 다음 단계를 따르세요.

  1. Settings 또는 Preferences 대화상자를 엽니다.
  2. Build, Execution, Deployment > Instant Run으로 이동합니다.
  3. Log extra info 확인란을 선택합니다. 이 옵션은 언제든지 비활성화할 수 있습니다.
  4. OK를 클릭합니다.

문제 보고

추가적인 로깅을 활성화한 후, 이전에 발생했던 모든 Instant Run 문제를 재현합니다. 문제를 재현한 직후에 다음과 같이 보고서를 제출합니다.

  1. 메뉴 모음에서 Help > Report Instant Run Issue를 선택합니다. 그림 4에 나타난 것과 유사한 대화상자가 나타납니다.

    그림 4. 자세한 내용을 텍스트 필드에 입력할 수 있으며, 보고서와 함께 Android Studio가 보낼 로그를 검토할 수 있습니다.

  2. 자신의 경험(예: 문제를 재현하는 단계 또는 실제 동작과 예상 동작의 차이)을 설명하는 추가적인 정보를 텍스트 필드에 입력합니다.
  3. 마치면 OK를 클릭합니다.

빌드 도구 및 Gradle 버그에 대한 세부정보

프로젝트 빌드 시에 발생하는 문제나 Gradle 동기화 문제에 대해 다음과 같은 정보를 포함합니다.

Android Emulator 버그에 대한 세부정보

에뮬레이터 버그에 해당하는 다음과 같은 정보를 포함시킵니다.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)