DWARF & dSYM

Là một iOS Engineer, mình có chút thắc mắc là làm sao để lldb có thể dừng đúng chỗ mà chúng ta đặt breakpoint. Hay khi đã dừng tại breakpoint thì làm sao nó biết được ở đó có những biến nào để chúng ta debug. Mình đã tìm hiểu 1 số tài liệu thì […]

Go CI/CD

Kể từ bài viết cuối cùng về Feature Flags thì đã lâu lắm rồi mình chưa viết bài nào. Nay tranh thủ có chút thời gian thì mình sẽ viết bài chia sẻ về quá trình cấu hình và sử dụng CI/CD cho project Go của mình. Let’s start. Vậy CI/CD là I. CI/CD là […]

Feature Flags

Chào các bạn, dạo này vật lộn với cơm áo gạo tiền quá nên chưa có thời gian viết bài mới. Nay rảnh chút nên mình viết bài mới này. Đã bao giờ các bạn implement tính năng gì đó rất to. Khi cần release nó chúng ta sẽ phải merge branch của tính năng […]

Advanced Debug Part 3

Tiếp nối 2 phần trước, phần này mình sẽ nói về công cụ debug khá là quan trọng và mạnh mẽ. Nó giúp chúng ta tìm ra những chỗ thay đổi giá trị của biến, để tìm ra những sự thay đổi bất thường của biến trong chương trình. Watchpoint là gì Watchpoint là một […]

Advanced Debug Part 2

Tiếp nối phần trước, phần này chúng ta sẽ tìm hiểu thêm về 1 số loại breakpoint khác. Các bạn có thể đọc lại phần 1 tại đây. Exception breakpoint Xét ví dụ sau: Chương trình trên bị crash và nhảy ra ngoài main. Như vậy rất khó để debug xem tại sao, nếu chỉ […]

Advanced Debug Part 1

Không có chương trình nào là không có lỗi, thế nên là lập trình viên thì luôn luôn phải đối mặt với nó. Có những lỗi rất dễ dàng tìm ra bằng cách đọc code. Tuy nhiên có những lỗi rất khó tìm được ra nguyên nhân. Hoặc chúng ta mới vào dự án chưa […]