2012-07-25 27 views
9

Trong mã Ruby sau:bước gỡ lỗi ruby ​​vào khối trực tiếp?

#! /usr/bin/env ruby 

require 'debugger' 

def hello 
    puts "hello" 
    if block_given? 
    yield 
    end 
end 

def main 
    debugger 
    puts "test begin..." 
    hello do # <= if you are here 
    puts "here!" #<= how to get here without setting bp here or step into hello? 
    end 
end 

main 

Nó rất phổ biến trong gỡ lỗi, tôi không quan tâm đến việc thực hiện các chức năng mà chịu theo khối, tôi chỉ muốn bước vào khối trực tiếp, mà không cần tay đặt điểm ngắt ở đó.

Có hỗ trợ nào cho loại "bước vào chặn" này tồn tại trong ruby-debug19 hoặc trình sửa lỗi không?

Trả lời

12

Bạn đã thử sử dụng lệnh "c", cho "continue" chưa? Tùy chọn này có một số dòng, do đó, dựa trên mẫu mã của bạn hãy thử:

c 16 
+0

Điều này gần như là "bước vào khối hiện tại" như tôi đã hy vọng, cảm ơn! –

+0

Điều đó giúp ích như thế nào? Không phải 'c' chỉ khiến nó chạy đến cùng? – Leopd

+0

'c 16' sẽ chạy cho đến khi nó chạm vào dòng 16. Mỗi tài liệu:' Đặc tả dòng đối số tùy chọn cho phép bạn chỉ định số dòng để đặt điểm ngắt một lần bị xóa khi đạt đến điểm ngắt đó.' –

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