3 điểm bởi GN⁺ 2024-11-16 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu

    • Seer là một frontend GUI cho gdb trên Linux, hướng tới việc cung cấp giao diện dễ dùng và trực quan.
    • Dự án đang được phát triển tích cực; có thể báo lỗi hoặc yêu cầu tính năng qua email hoặc trang dự án GitHub.
  • Cài đặt

    • Có thể cài Seer bằng trình quản lý gói hoặc từ mã nguồn.
    • Yêu cầu

      • Cần Linux, C++17, gdb (bao gồm trình thông dịch mi), CMake (3.1.0 trở lên) và QT6.
      • Cần cài gói QT6 devel.
      • QT5 không còn được hỗ trợ; phiên bản 2.3 là cây mã nguồn cuối cùng còn hỗ trợ.
    • Cài từ gói

      • Có thể cài bằng Pamac (Manjaro) và zypper (openSUSE Tumbleweed).
  • TIN TỨC

    • Có thể xem thông tin mới nhất trên trang GitHub Wiki của Seer.
    • v1.17 là bản phát hành Qt5 cuối cùng, và bản phát hành tiếp theo sẽ là v2.0 dựa trên Qt6.
  • Tổng quan GUI

    • Chế độ xem chính

      • Cung cấp danh sách mã nguồn/hàm/kiểu/biến/thư viện.
      • Hiển thị thông tin biến và thanh ghi.
      • Có thể xem và tìm kiếm tệp mã nguồn trong trình quản lý mã.
      • Có thể quản lý breakpoint, watchpoint, catchpoint và printpoint.
      • Cung cấp thông tin stack frame và luồng.
      • Hỗ trợ chế độ reverse debugging của Gdb.
    • Hộp thoại mở

      • Mô tả giao diện hộp thoại khi mở tệp thực thi.
    • Bảng điều khiển Seer

      • Mọi đầu ra văn bản của tệp thực thi sẽ được chuyển tới bảng điều khiển Seer.
    • Chế độ xem Assembly

      • Có thể hiển thị mã assembly theo tab.
      • Đây là tính năng mới, có thể gửi phản hồi và đề xuất tính năng.
    • Trình trực quan hóa bộ nhớ

      • Trực quan hóa nội dung thô của bộ nhớ.
    • Trình trực quan hóa mảng

      • Trực quan hóa nội dung mảng dưới dạng đồ thị X-Y.
    • Trình trực quan hóa struct

      • Trực quan hóa nội dung của struct hoặc class C/C++.
    • Trình trực quan hóa hình ảnh

      • Trực quan hóa nội dung bộ nhớ thô dưới dạng hình ảnh.
  • Khởi động Seer

    • Được thiết kế để dễ dàng khởi động chương trình cần debug từ dòng lệnh.
    • Có thể xem các cách chạy khác nhau trên GitHub Wiki.
  • Hỗ trợ/Liên hệ

    • Có thể gửi báo lỗi hoặc yêu cầu tính năng qua email hoặc trang dự án GitHub.

1 bình luận

 
GN⁺ 2024-11-16
Ý kiến trên Hacker News
  • Đã dùng thử với Godot trên Linux; UI khá phức tạp nhưng có đủ tính năng. Khi kiểm tra giá trị biến thì đôi lúc gặp lỗi hoặc không có gì xảy ra. Khi nhấp đúp vào biến, giá trị hiện tại và dấu thời gian sẽ được thêm vào một bảng. Gede có UI đơn giản và trực quan nhất; tuy ít tính năng hơn nhưng hoạt động ổn định không lỗi

  • GDB có sẵn giao diện người dùng dạng văn bản (TUI) tích hợp và khá dễ dùng. Nó cũng hỗ trợ tương tác bằng chuột

  • Sau khi thử nhiều frontend cho GDB, TUI là lựa chọn tốt nhất. Khi chương trình xuất ra nội dung, giao diện có thể bị vỡ nên cần nhấn Ctrl + L để vẽ lại. Tôi thêm layout srcset confirm off vào tệp cấu hình

  • Nếu kết nối từ Windows tới Linux hoặc dùng WSL, có thể dùng WinDBG/VisualStudio để gỡ lỗi từ xa tiến trình Linux

  • Có Qt UI for GDB và gdbgui, một UI dựa trên web. Thật tốt khi luôn thấy các công cụ debug tiếp tục phát triển

  • Lần đầu thấy DDD, tôi cảm giác như phép thuật. Nó vẫn đang được bảo trì

  • Với người dùng Emacs, GUD cung cấp khả năng tích hợp GDB rất tuyệt vời

  • Tôi thỉnh thoảng dùng GDB khi điều tra lỗi trong C hoặc Ada, nhưng đó không phải hoạt động chính. Vì vậy tôi không dành thời gian thiết lập môi trường debug phức tạp. Tôi dùng Emacs và vài ghi chú hướng dẫn đơn giản

  • 10 năm trước khi lập trình C++ trên Linux, tôi đã dùng Qt Creator và debugger tích hợp của nó (frontend cho GDB) hoạt động rất tốt. Không có lý do gì để dùng thứ khác cho C++ và Qt