위키 / 버그 신고하기

로그를 주세요,
그러면 고칠 수 있습니다.

FT8AF는 실행할 때마다 구조화된 이벤트 로그를 기록합니다 — CAT 직렬 트래픽, USB 연결 이벤트, 자동 연결 시도, 밴드 변경. 대부분의 현장 버그는 거기에 남습니다. 휴대폰에서 꺼내 GitHub 이슈에 넣으면 끝입니다.

1로그에 무엇이 있는가

FT8AF는 앱 데이터 디렉터리에 debug.log라는 이름의 롤링 텍스트 파일을 유지합니다. 다음과 같은 것들을 기록합니다:

  • USB 연결 / 분리 이벤트와 어떤 CAT 장치가 일치했는지
  • 자동 연결 시도와 실패가 있다면 그 내용
  • 무전기로 보내고 무전기에서 받은 CAT 직렬 프레임
  • 밴드와 주파수 변경
  • 앱이 시작하고 멈출 때의 라이프사이클 이벤트

이것은 일반 텍스트이고, 읽어도 안전하며, 비밀번호나 업로드 API 키를 포함하지 않습니다. 공유하기 전에 훑어보고 싶다면 아래 개인정보 절을 보세요.

2디버그 모드 잠금 해제

로그를 꺼내는 가장 쉬운 방법은 앱 안의 디버그 화면을 사용합니다 — 컴퓨터도, 파일 관리자도, Android-data 폴더 권한도 필요 없습니다. 이 화면은 기본적으로 숨겨져 있고, Android의 개발자 옵션과 같은 방식으로 잠금을 해제합니다: 버전 블록을 일곱 번 탭하기.

  1. FT8AF에서 Settings 탭을 여세요.
  2. 맨 아래까지 스크롤하세요 — ABOUT 섹션.
  3. FAQ & Support를 탭하세요. About 대화상자가 열리며 앱 버전과 "FT8, made easy."로 시작하는 설명이 표시됩니다.
  4. 그 설명 텍스트를 연속으로 일곱 번 탭하세요. 일곱 번째 탭 후 디버그 모드가 켜지고 실행 간에 유지됩니다.
  5. About 대화상자를 닫으세요. 이제 ABOUT 섹션의 FAQ & Support 바로 아래에 새 Debug 행이 나타납니다.
Settings · AboutDebug unlocked
FT8AFv1.2 · build 2026.06.02
FAQ & Support
DebugView / share debug.log · ›
잠금 해제 후 — Debug 행이 ABOUT 섹션에 나타납니다. 디버그 모드가 켜지면 다시 끌 때까지 켜진 채로 유지됩니다(끄려면 설명을 일곱 번 더 탭).

3Debug 열기 & 공유

Debug 행을 탭하세요. 전체 화면 로그 뷰어가 열리며 debug.log의 마지막 수백 줄을 실시간으로 표시합니다 — 몇 초마다 새로 고치고 자동으로 맨 아래로 스크롤합니다.

Debug · 412 linesTailing
Share Clear Logcat: OFF
13:42:01  USB attach: vid=10c4 pid=ea60
13:42:01  autoConnect attempt #1 → SUCCESS
13:42:02  CAT > FE FE 94 E0 03 FD
13:42:02  CAT < FE FE E0 94 03 00 74 04 00 14 FD
13:42:05  band → 20m, freq 14.074 MHz
13:42:18  decode: 14 messages in 64 ms
13:42:33  decode: 11 messages in 58 ms
Debug 화면. Share를 탭하면 debug.log가 이미 첨부된 Android 공유 시트가 열립니다. Gmail, Outlook, Drive, Files — 보내고 싶은 것을 고르세요.

상단 도구 모음에서:

Share
debug.log를 텍스트 파일로 첨부한 Android 공유 시트를 엽니다(제목 "FT8AF debug.log"). 우리에게 직접 이메일하려면 Gmail을, 또는 첨부를 처리하는 아무 앱이나 — Drive, Outlook, Slack, Signal, Telegram, 시스템 Files 앱, 모두 작동합니다.
Clear
현재 로그를 삭제합니다. 버그를 재현하기 전에 깨끗하게 시작하고 싶을 때 유용합니다 — Clear를 누르고, 대화상자를 나간 뒤, 문제를 재현하고, 돌아와 Share만 하면 됩니다. 더 짧은 로그가 관련 이벤트를 찾기 쉽게 해 줍니다.
Logcat: ON / OFF
ON일 때, 뷰어는 앱 자체 프로세스의 최근 logcat 출력도 덧붙입니다 — 충돌이나 오디오 버그가 debug.log에 완전히 잡히지 않을 때 유용합니다. Share를 탭하면 logcat 꼬리가 함께 따라갑니다.

우리에게 바로 보내세요.

공유 시트가 나타나면 메일 앱을 고르고, 그 이슈를 다루는 사람에게 보내세요 — 운용자는 K1AFN0RC입니다(주소는 QRZ에). 더 좋은 방법은: 먼저 GitHub 이슈를 열고, 그런 다음 원하는 이메일이나 클라우드 드라이브 바로가기로 로그를 공유한 뒤 링크나 첨부를 이슈 스레드에 붙여 공개로 남겨 두는 것입니다.

4대체: Files 앱

어떤 이유로 앱 안의 Debug 화면에 도달할 수 없다면 — 오래된 빌드, 잠금 해제가 안 됨, 그냥 파일 관리자가 더 좋아서 — 로그 파일은 디스크의 다음 위치에도 있습니다:

/Android/data/com.bg7yoz.ft8cn/files/debug.log
  1. 휴대폰에서 Files(또는 내 파일) 앱을 여세요.
  2. 내부 저장소 → Android → data로 이동하세요. 일부 기기에서는 Android가 이 폴더를 기본으로 숨깁니다; 점 세 개 메뉴를 탭하고 숨김 파일 표시 또는 시스템 폴더를 켜세요.
  3. com.bg7yoz.ft8cn라는 폴더를 열고, 그다음 files를 여세요. 안에 debug.log가 보일 것입니다.
  4. debug.log를 길게 누르고 공유를 탭하세요.

Android 11+에서는 Files에서 /Android/data가 차단될 수 있습니다.

최근 Android에서 data 폴더에 com.bg7yoz.ft8cn이 보이지 않으면, Play Store에서 Material FilesSolid Explorer 같은 서드파티 파일 관리자를 설치하세요 — 둘 다 앱 데이터 폴더를 읽을 수 있습니다. 또는 더 쉽게: 위의 앱 안 Debug 화면을 사용하면 이를 완전히 우회합니다.

5대체: ADB

컴퓨터와 Android의 adb 도구가 있는 개발자를 위해:

  1. 휴대폰에서 개발자 옵션 → USB 디버깅을 켜세요.
  2. 휴대폰을 USB로 컴퓨터에 연결하고 디버그 인증 프롬프트를 수락하세요.
  3. 터미널에서 휴대폰이 보이는지 확인하세요:
    adb devices -l
  4. 로그를 가져오세요:
    adb pull /sdcard/Android/data/com.bg7yoz.ft8cn/files/debug.log .
    다중 기기 환경에서는 -s <serial>로 휴대폰을 명시적으로 지정하세요.

6이슈 작성

유용한 버그 신고는 짧습니다 — 짧은 단락 서너 개면 충분합니다. 늘 통하는 패턴:

  1. 무엇을 했나요? "FT-891을 꽂고 20m에서 CQ를 탭했습니다." 구체적인 동작을 순서대로. 앱을 설명할 필요는 없습니다 — 무엇을 탭했는지만.
  2. 무엇이 일어나길 기대했나요? "무전기가 송신에 들어가고 앱이 14.074에서 톤을 보내기 시작하길 기대했습니다."
  3. 실제로 무엇이 일어났나요? "TX 스트립이 LISTENING에 머물렀습니다. PTT도 톤도 없었습니다." 화면에 뭔가 나타났다면 — 오류 토스트, 멈춘 UI, 이상한 워터폴 — 설명하세요. 스크린샷은 금값입니다.
  4. 얼마나 자주? 매번? 휴대폰이 잠든 후에만? 6m에서만? 짚어낼 수 있는 것은 무엇이든 탐색 범위를 좁힙니다.
  5. 로그를 첨부하세요. 문제를 재현한 직후에 debug.log를 꺼내세요 — 가장 최근 줄이 가장 유용합니다.

7이슈 템플릿

이것을 새 이슈에 복사하고 빈칸을 채우세요:

## What happened

(One or two sentences describing the bug)

## Steps to reproduce
1. (First thing you tapped)
2. (Second thing)
3. (...)

## Expected vs. actual

Expected: (what should have happened)
Actual:   (what did happen)

## Environment

- FT8AF version:   (Settings → About, or the release tag you installed)
- Source:          GitHub APK / Google Play / built from source
- Android version: (e.g. 14)
- Device:          (e.g. Pixel 8, Samsung S23, etc.)
- Radio:           (e.g. Yaesu FT-891 over USB-C)
- Cable:           (USB-C direct / OTG adapter / brand if relevant)

## Log

(Attach debug.log, or paste the last ~50 lines in a code block.)

8앱이 충돌했다면

FT8AF가 완전히 충돌하면 Android가 별도의 충돌 보고서를 보관합니다. 살펴볼 두 곳:

  • Google Play에서 받았다면, 익명 충돌 보고에 한 번 동의하면 우리가 스택 추적을 자동으로 봅니다. 아무것도 할 필요는 없습니다 — 다만 이슈에 "<시간> 무렵 기기 X에서 충돌 보고를 방금 보냈습니다"를 덧붙이면 매칭에 도움이 됩니다.
  • ADB를 쓸 수 있다면, 실시간 시스템 로그에는 보통 충돌 직후 그 추적이 담겨 있습니다:
    adb logcat -d > logcat.txt
    debug.log에 더해 logcat.txt도 첨부하세요.

9개인정보

디버그 로그는 그저 텍스트입니다. 앱의 동작 이벤트를 기록할 뿐, 당신의 개인 데이터가 아닙니다. 다음과 같은 줄이 보입니다:

13:42:01 USB attach: vid=10c4 pid=ea60 (Silicon Labs CP210x)
13:42:01 autoConnect attempt #1 → SUCCESS
13:42:02 CAT > FE FE 94 E0 03 FD
13:42:02 CAT < FE FE E0 94 03 00 74 04 00 14 FD
13:42:05 band → 20m, freq 14.074 MHz

거기에 없는 것: Cloudlog나 QRZ API 키, 당신의 계정 비밀번호, 사진, 연락처, 위치. 당신의 콜사인과 그리드는 국을 식별하므로 거기에 있습니다 — 하지만 그것들은 어차피 면허를 가진 아마추어에게는 공개 정보입니다.

보내기 전에 훑어보거나 가리고 싶다면, 파일은 일반 UTF-8 텍스트입니다. 어떤 텍스트 편집기로도 열립니다.

시간 내주셔서 감사합니다.

진짜 현장 보고서 — "이 무전기, 이 케이블, 이 밴드, 이런 일이 있었다" — 가 바로 이 포크가 나아지는 방식입니다. 두 번의 버그 잡기와 58건 이상의 수정은, 바로 당신이 곧 제출할 그런 보고서에서 시작되었습니다. 73.