2012-12-21 29 views
12

thể trùng lặp:
GDB Vs LLDB debuggersSự khác nhau giữa LLĐB và GDB Debuggers

Tôi muốn biết sự khác biệt giữa LLĐB và GDB debugger chi tiết. Ở khắp mọi nơi nó được đề cập là "LLDB nhanh hơn và hiệu quả bộ nhớ hơn GDB". Tôi muốn biết ý nghĩa của nó là nhanh hơn và bộ nhớ hiệu quả hơn.

  1. Khi tôi sử dụng LLDB, trong chế độ xem biến của vùng gỡ lỗi, biến thành viên của lớp cụ thể hoặc bộ điều khiển xem không được hiển thị (đếm). Và đối với mảng cục bộ khi đối tượng được thêm vào, các đối tượng không được hiển thị trong khung nhìn biến, nhưng số đối tượng được hiển thị (đếm).

    ví dụ (trong các biến xem):

    arrayOfComments NSMutableArray * 0x068a6700 1 Object

    -> NSArray NSArray

    -> NSObject

  2. Khi tôi sử dụng GDB, trong các biến xem của vùng gỡ rối, biến thành viên của lớp cụ thể hoặc bộ điều khiển xem được hiển thị. Và đối với mảng cục bộ khi đối tượng được thêm vào các đối tượng cũng như số đếm được hiển thị trong dạng xem biến.

    ví dụ (trong các biến xem):

    arrayOfComments __NSArrayM * 0x68d7970 1 Object

    -> 0 Comment * 0x6804940 (đối tượng được hiển thị ở đây)

  3. Tôi đã xem qua một bài báo nói LLĐB hiểu cú pháp chấm.

    po self.property

    Nhưng khi tôi sử dụng nó trong GDB nó hoạt động ngay cả đối với "po self.property.previousProperty'sProperty" nhưng không hoạt động trong LLĐB. vì vậy bây giờ LLDB hiểu cú pháp dấu chấm như thế nào.

Vui lòng trợ giúp.

Cảm ơn bạn.

Trả lời

6

Tùy thuộc vào trình biên dịch của bạn. Tôi khuyên bạn nên sử dụng trình gỡ lỗi lldb với "trình biên dịch 3.0 của Apple LLVM" và gdb cho các hương vị GCC (bao gồm "LLVM GCC 4.2").

Dưới đây là một số liên kết tôi đã tìm thấy hữu ích để gỡ lỗi:

http://lldb.llvm.org/tutorial.html

http://www.corbinstreehouse.com/blog/2007/10/instruments-on-leopard-how-to-debug-those-random-crashes-in-your-cocoa-app/

http://www.markj.net/iphone-memory-debug-nszombie/

http://www.cocoadev.com/index.pl?DebuggingAutorelease

Tôi nghĩ rằng những liên kết này có thể giúp bạn

+0

cảm ơn bạn. @ Bing – user1899840

-2

"LLDB hỗ trợ gỡ lỗi dòng lệnh cơ bản & nó có thể viết được". LLDB cũng hỗ trợ gỡ lỗi đa luồng. Vì vậy, LLDB nhanh hơn nhiều so với trình gỡ lỗi GDB nhanh hơn &.

Ở đây tôi trình bày bằng chứng này fpr.

Khởi chạy quy trình không có đối số.

GDB

(gdb) chạy

(gdb) r


LLVM

(LLĐB) quá trình ra mắt

(LLĐB) chạy

(LLĐB) r

Bạn sẽ nhận được một ý tưởng chính xác, nếu bạn đi qua này The LLDB Debugger

Các vấn đề liên quan