2012-06-25 26 views
38

LLDB có convenience variables không? Nếu vậy, làm thế nào để sử dụng chúng? Nếu không, có bất kỳ điều tương tự nào để sử dụng không?

tham khảo: http://software.intel.com/sites/products/documentation/hpc/atom/application/debugger/commands143.html

+0

Tôi không thấy bất kỳ bằng chứng nào cho thấy. Trang web của nó là http://lldb.llvm.org/ và họ có danh sách gửi thư, có lẽ bạn có thể hỏi trực tiếp những người bảo trì. –

Trả lời

43

Cuối cùng tôi đã tự tìm ra. Chạy help expr trong LLĐB và bạn sẽ thấy:

tài biến được định nghĩa: Bạn có thể xác định các biến của riêng bạn để thuận tiện hoặc được sử dụng trong các biểu thức sau này. Bạn xác định chúng giống như cách bạn định nghĩa biến trong C. Nếu ký tự đầu tiên của biến do người dùng xác định là $, thì giá trị của biến sẽ có sẵn trong các biểu thức trong tương lai, nếu không nó sẽ chỉ có sẵn trong biểu thức hiện tại .

Vì vậy, expr int $foo = 5 là những gì tôi muốn.

+0

Có ai biết nếu có chức năng liệt kê bất kỳ biến nào được xác định trong thời trang này trong một phiên không? Đó sẽ là siêu tiện dụng. Một cái gì đó như 'expr list' ... –

3

Chỉ cần sử dụng các hình thức:

(lldb) expr var 

Từ tutorial của họ:

(lldb) expr self 
$0 = (SKTGraphicView *) 0x0000000100135430 
(lldb) expr self = 0x00 
$1 = (SKTGraphicView *) 0x0000000000000000 

Bạn cũng có thể gọi chức năng:

(lldb) expr (int) printf ("I have a pointer 0x%llx.\n", self) 
$2 = (int) 22 
I have a pointer 0x0. 
(lldb) expr self = $0 
$4 = (SKTGraphicView *) 0x0000000100135430 
19

Tôi đã vật lộn với điều này hôm nay. Đây là những gì có vẻ như để đối phó với biến Objective-C trong LLĐB:

expr UIApplication *$app = (UIApplication *)[UIApplication sharedApplication] 
expr UIWindow *$keyWindow = (UIWindow *)[$app keyWindow] 

vv Tôi đã tìm thấy LLĐB hoạt động tốt nhất nếu bạn không làm tổ bất kỳ cuộc gọi, và bạn một cách rõ ràng cho một loại lợi nhuận trên mỗi cuộc gọi .

Tuy nhiên, tôi đang gặp phải lỗi phân đoạn khi cố gắng thực hiện initWithFrame: hoạt động trên UIView sau này. :/

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