3P by neo 12일전 | favorite | 댓글 1개
  • 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 프로젝트 페이지를 통해 가능.
Hacker News 의견
  • Godot와 Linux에서 사용해 본 결과, UI가 복잡하지만 기능은 있음. 변수 값을 확인하려고 할 때 오류가 발생하거나 아무 일도 일어나지 않음. 변수 더블클릭 시 현재 값과 타임스탬프가 패널에 추가됨. Gede가 가장 간단하고 직관적인 UI를 제공하며, 기능은 적지만 버그 없이 잘 작동함

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

  • 여러 GDB 프론트엔드를 사용해 본 결과, TUI가 가장 좋음. 프로그램이 출력할 때 인터페이스가 깨질 수 있으므로 Ctrl + L로 다시 그릴 필요가 있음. 설정 파일에 layout srcset 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를 위해 다른 것을 사용할 이유가 없음