Sử dụng dòng lệnh và có kiến thức làm việc về ngôn ngữ lập trình cơ bản đến nâng cao, các nhà phát triển chuyên nghiệp có thể tạo ra ứng dụng và phần mềm tuyệt vời. Nhưng công việc không dừng lại khi sản xuất ứng dụng chạy được. Họ vẫn cần đào sâu vào mã để tìm lỗi và bug có thể ảnh hưởng trải nghiệm người dùng. Đó là lúc LLDB xuất hiện. Nó là gì?
LLDB là gì?
Trước khi thảo luận lệnh LLDB làm gì, hãy nói về toàn bộ hành trình lập trình, để chúng ta hiểu rõ hơn công việc của nhà phát triển.
Toàn bộ trải nghiệm lập trình là hành trình dài. Sau khi viết mã, phần thú vị bắt đầu. Nhà phát triển chạy mã và biên dịch. Trong quá trình biên dịch, mã gặp các thuộc tính khác nhau và đi qua các phương thức. Dọc đường, bug được phát hiện và nhật ký ứng dụng được phân tích. Từ đó, nhà phát triển bắt đầu giai đoạn gỡ lỗi (debugging).
Mặc dù nghe rất thú vị, gỡ lỗi lại khá thách thức. Nhà phát triển chỉ có một mảnh nhỏ của bức tranh. Chỉ biết nó nên bắt đầu như thế nào và kết thúc như thế nào. Để tìm ra nguyên nhân bug, họ phải truy ngược mọi bước trong toàn bộ hành trình lập trình.
Mẹo chuyên nghiệp: Quét Mac để phát hiện sự cố hiệu suất, tệp rác, ứng dụng độc hại và mối đe dọa bảo mật
có thể gây ra sự cố hệ thống hoặc làm chậm hiệu suất.
Để giảm gánh cho nhà phát triển, Apple tạo tài nguyên quý giá: LLDB. Low Level DeBugger (Gỡ lỗi cấp thấp) làm chính xác như tên gọi. Là trình gỡ lỗi phân rã ứng dụng thành các thành phần nhỏ hơn. Apple đặt nó làm công cụ gỡ lỗi tiêu chuẩn cho Xcode IDE, phần mềm dùng để lập trình cho Mac và iOS.
Với phạm vi khả năng và chức năng của LLDB, việc dùng không giới hạn trong Xcode. Nó cũng có thể dùng để kiểm tra và phân rã ứng dụng khác ngay cả khi bạn không có quyền truy cập hoàn toàn vào mã nguồn.
Các lệnh LLDB là gì?
Để gỡ lỗi mã bằng LLDB, có một số lệnh nhà phát triển nhập. Chúng tôi liệt kê vài lệnh LLDB thường dùng:
- apropos – Hiển thị danh sách lệnh gỡ lỗi liên quan đến từ/chu đề nhất định.
- breakpoint – Dùng khi làm việc với điểm dừng (breakpoint).
- bugreport – Gọi để tạo báo cáo lỗi dành cho miền cụ thể.
- command – Gọi khi nhà phát triển muốn quản lý lệnh LLDB tùy chỉnh trên Mojave.
- disassemble – Dùng khi ngược mã hóa (disassemble) hướng dẫn nhất định trong hàm hiện tại.
- expression – Gọi để đánh giá biểu thức cụ thể trên hàm hiện tại.
- frame – Lệnh này dùng để chọn và kiểm tra khung ngăn xếp (stack frame) của luồng hiện tại.
- gdb-remote – Gọi để kết nối quy trình qua máy chủ GDB. Nếu không chỉ định máy chủ, dùng localhost.
- gui – Gọi để chuyển sang GUI dựa trên con trỏ.
- help – Gọi để hiển thị danh sách lệnh gỡ lỗi hoặc chi tiết lệnh LLDB cụ thể.
- kdp-remote – Dùng để kết nối quy trình qua máy chủ KDPP từ xa. Nếu không chỉ định cổng UDP, tự dùng cổng 41139.
- log – Lệnh này kiểm soát ghi nhật ký nội bộ LLDB.
- platform – Gọi để tạo và quản lý nền tảng.
- plugin – Dùng để quản lý plugin LLDB.
- process – Lệnh này gọi để cho phép tương tác với quy trình trên nền tảng hiện tại.
- quit – Gọi để thoát hoặc đóng LLDB.
- register – Dùng để truy cập thanh ghi cho khung ngăn xếp và luồng hiện tại.
- script – Gọi để gọi trình thông dịch script.
- settings – Lệnh này gọi để quản lý cài đặt LLDB.
- source – Gọi để kiểm tra mã nguồn.
Cách giải quyết lỗi liên quan LLDB
Đôi khi lỗi nảy sinh khi dùng LLDB. Một lỗi nổi tiếng bật lên ngẫu nhiên với thông báo "Một chương trình đang cố gắng sử dụng lệnh LLDB."
Nếu bạn không phải nhà phát triển, đây là vấn đề khá khó hiểu. Làm sao lỗi LLDB bật lên khi bạn không dùng nó? Dù nguyên nhân gì, biết rằng có thể giải quyết. Mặc dù một số giải pháp đòi hỏi kiến thức kỹ thuật, những cái khác chỉ yêu cầu khởi động lại máy.
Dưới đây là một số giải pháp đề xuất:
1. Khởi động lại Mac.
Mac có thể ngủ, tắt, hoặc ngủ đông. Một số người thích để máy bật cả ngày, người khác cho ngủ khi rời xa. Mặc dù không sai với tùy chọn nào, thói quen nguồn đôi khi ảnh hưởng hiệu suất hệ thống, nhất là nếu máy chạy pin.
Theo chuyên gia Mac, khuyến khích tắt máy thỉnh thoảng. Không chỉ ngăn chặn lỗi xuất hiện, còn đảm bảo tất cả ứng dụng và chương trình hoạt động đúng.
2. Quét Mac.
Có khả năng Mac bị nạp đầy tệp rác và bộ nhớ đệm, do đó thông báo lỗi hiện ra. Cách tốt nhất loại bỏ tệp rác là quét Mac với công cụ dọn dẹp Mac đáng tin cậy. Mặc dù bạn có thể quét thủ công, dùng công cụ dọn dẹp tin cậy tiết kiệm thời gian và đảm bảo không bỏ sót.
3. Đặt lại SMC.
Bộ điều khiển quản lý hệ thống (SMC) đóng vai trò quan trọng trên Mac. Bên cạnh việc lo khía cạnh quản lý nguồn, nó cũng kiểm tra tính xác thực phần cứng Apple. Vì vậy, nếu SMC có vấn đề, có thể ảnh hưởng đến ứng dụng đang chạy. Xcode IDE không ngoại lệ.
Để đặt lại SMC Mac, làm theo bước:
- Vào menu Apple.
- Chọn Tắt máy.
- Khi Mac đã tắt, nhấn giữ tổ hợp phím CTRL + Option + SHIFT và nút Nguồn cùng lúc.
- Sau 10 giây, thả tất cả phím và nút.
- Bật Mac lại bằng nút Nguồn. Bạn đã đặt lại SMC thành công.
Kết luận
Trình gỡ lỗi như LLDB là công cụ tiện lợi cho nhà phát triển vì cho phép thao tác và kiểm tra mã với sự kiểm soát. Vì vậy, nếu bạn là nhà phát triển đang khát khao, hãy bắt đầu làm quen với mã LLDB. Thoải mái với giao diện và đối xử nó như người bạn mới tốt nhất.
Nếu bạn nghĩ chúng tôi bỏ lỡ điều gì quan trọng về LLDB, hãy chia sẻ bên dưới!