Duyệt bởi
Tag: Debugging

Advanced Debug Part 3

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 loại breakpoint được dùng để debug chương trình. Nó cho phép ta dừng chương trình tại dòng lệnh đọc/ghi một vùng nhớ nào đó. Như…

Đọc Thêm Đọc Thêm

Advanced Debug Part 2

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ỉ nhìn log thì không biết chỗ nào gây ra crash này. Lúc này ta có thể sử dụng Exception breakpoint để bắt xem Exception xảy…

Đọc Thêm Đọc Thêm

Advanced Debug Part 1

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 hiểu được luồng của phần mềm thì cũng rất khó để tìm ra nguyên nhân nếu không có cách tiếp cận đúng. Trong series chúng…

Đọc Thêm Đọc Thêm

Debug conflict autolayout constraints

Debug conflict autolayout constraints

Là lập trình viên iOS, chắc hẳn ai cũng biết về autolayout. Autolayout là tính năng giúp lập trình viên layout các thành phần để tạo ra giao diện cho app của mình. Tuy nhiên, có thể do vô tình mà chúng ta gây ra tình trạng conflict constraint( breaking constraint). Đó là tình trạng mà autolayout engine không biết nên xử lý layout như thế nào do có hai hoặc nhiều constraint bị conflict nhau. Khi bị conflict constraint…

Đọc Thêm Đọc Thêm