# Seer: Linux용 GDB를 위한 GUI 프론트 엔드

> Clean Markdown view of GeekNews topic #17789. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17789](https://news.hada.io/topic?id=17789)
- GeekNews Markdown: [https://news.hada.io/topic/17789.md](https://news.hada.io/topic/17789.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-11-16T10:38:16+09:00
- Updated: 2024-11-16T10:38:16+09:00
- Original source: [github.com/epasveer](https://github.com/epasveer/seer)
- Points: 3
- Comments: 1

## Topic Body

- # Introduction
  - Seer는 Linux에서 gdb를 위한 GUI 프론트엔드로, 사용하기 쉽고 시각적으로 만족스러운 인터페이스 제공을 목표로 함.
  - 프로젝트는 활발히 진행 중이며, 버그나 원하는 기능은 이메일 또는 GitHub 프로젝트 페이지를 통해 보고 가능.

- # Installation
  - Seer는 패키지 관리자나 소스에서 설치 가능.
  - ## Requirements
    - Linux, C++17, gdb (mi 인터프리터 포함), CMake (3.1.0 이상), QT6 필요.
    - QT6 "devel" 패키지 설치 필요.
    - QT5는 더 이상 지원되지 않으며, 2.3 버전이 마지막으로 지원하는 소스 트리임.
  - ## Install from package
    - Pamac (Manjaro)와 zypper (openSUSE Tumbleweed)에서 설치 가능.

- # NEWS
  - Seer의 GitHub Wiki 페이지에서 최신 정보를 확인 가능.
  - v1.17은 마지막 Qt5 릴리스이며, 다음 릴리스는 Qt6 기반의 v2.0이 될 예정.

- # GUI overview
  - ## Main View
    - 소스/함수/타입/변수/라이브러리 목록 제공.
    - 변수 및 레지스터 정보 표시.
    - 코드 매니저에서 소스 파일 열람 및 검색 가능.
    - 중단점, 감시점, 캐치포인트, 프린트포인트 관리 가능.
    - 스택 프레임 및 스레드 정보 제공.
    - Gdb의 역방향 디버깅 모드 지원.
  - ## Open Dialog
    - 실행 파일을 열 때의 대화 상자 모습 설명.
  - ## Seer Console
    - 실행 파일의 모든 텍스트 출력은 Seer 콘솔로 이동.
  - ## Assembly View
    - 어셈블리 코드를 탭으로 표시 가능.
    - 새로운 기능으로, 피드백 및 기능 제안 가능.
  - ## Memory Visualizer
    - 메모리의 원시 내용을 시각화.
  - ## Array Visualizer
    - 배열의 내용을 X-Y 플롯으로 시각화.
  - ## Struct Visualizer
    - C/C++ 구조체나 클래스의 내용을 시각화.
  - ## Image Visualizer
    - 이미지로 된 원시 메모리 내용을 시각화.

- # Starting Seer
  - 명령줄에서 디버깅할 프로그램을 쉽게 시작할 수 있도록 설계됨.
  - 다양한 실행 방법은 GitHub Wiki에서 확인 가능.

- # Support/Contact
  - 버그나 기능 요청은 이메일 또는 GitHub 프로젝트 페이지를 통해 가능.

## Comments



### Comment 31353

- Author: neo
- Created: 2024-11-16T10:38:16+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42146338) 
- Godot와 Linux에서 사용해 본 결과, UI가 복잡하지만 기능은 있음. 변수 값을 확인하려고 할 때 오류가 발생하거나 아무 일도 일어나지 않음. 변수 더블클릭 시 현재 값과 타임스탬프가 패널에 추가됨. Gede가 가장 간단하고 직관적인 UI를 제공하며, 기능은 적지만 버그 없이 잘 작동함

- GDB는 텍스트 사용자 인터페이스(TUI)를 내장하고 있으며, 사용하기 쉬움. 마우스 상호작용도 지원함

- 여러 GDB 프론트엔드를 사용해 본 결과, TUI가 가장 좋음. 프로그램이 출력할 때 인터페이스가 깨질 수 있으므로 Ctrl + L로 다시 그릴 필요가 있음. 설정 파일에 `layout src`와 `set confirm off`를 추가함

- Windows에서 Linux에 연결하거나 WSL을 사용할 경우, WinDBG/VisualStudio를 사용하여 Linux 프로세스를 원격 디버깅할 수 있음

- Qt UI for GDB와 웹 기반 UI인 gdbgui가 존재함. 디버그 도구의 발전을 보는 것은 항상 좋음

- DDD는 처음 봤을 때 마법 같았음. 여전히 유지보수되고 있음

- Emacs 사용자에게는 GUD가 훌륭한 GDB 통합 기능을 제공함

- C 또는 Ada의 버그를 조사할 때 가끔 GDB를 사용하지만, 주 활동은 아님. 따라서 복잡한 디버깅 환경을 설정하는 데 시간을 투자하지 않음. Emacs와 간단한 지침 노트를 사용함

- 10년 전 Linux에서 C++ 프로그래밍할 때 Qt Creator를 사용했으며, 내장 디버거(GDB 프론트엔드)가 훌륭하게 작동했음. C++와 Qt를 위해 다른 것을 사용할 이유가 없음
