यदि आप रूबी 1.9.2+ पर हैं, तो डीबगर मणि (gem install debugger
) इंस्टॉल करें। डीबग करने के दो तरीके हैं: सीधे debugger
मणि या redbug
बाइनरी का उपयोग करके। आइए दिखाएं कि हमारे पास खिलौना स्क्रिप्ट है, और हम जानना चाहते हैं कि $blah
foo()
पर कॉल करने के बाद 4 है (यह एक बाहरी पुस्तकालय का बहाना है)।
विधि 1: सहित debugger
यह अपने कोड में मैन्युअल रूप से एक ब्रेकपाइंट सेट कर रहा है:
require 'debugger'
$blah = 3
def foo
$blah += 1
end
def bar
$blah += 4
end
foo()
debugger() # opens rdb
bar()
puts $blah
ruby debug.rb
के रूप में इस भागो। यह एक माणिक डिबग कंसोल में आप का शुभारंभ करेंगे:
% ruby debug.rb
debug.rb:15
bar()
(rdb:1) list
[10, 19] in debug.rb
10 $blah += 4
11 end
12
13 foo()
14 debugger()
=> 15 bar()
16
17 puts $blah
(rdb:1) display $blah
1: $blah = 4
विधि 2: rdebug
यहाँ हमारे उदाहरण उदाहरण स्क्रिप्ट है, debug.rb
चल रहा है:
$blah = 3
def foo
$blah += 1
end
def bar
$blah += 4
end
foo()
bar()
puts $blah
खोल से, निष्पादित rdebug debug.rb
। यहाँ एक उदाहरण सत्र है:
% rdebug debug.rb
(rdb:1) list 1,20
[1, 20] in /mnt/hgfs/src/stackoverflow/debug.rb
=> 1 $blah = 3
2
3 def foo
4 $blah += 1
5 end
6
7 def bar
8 $blah += 4
9 end
10
11 foo()
12 bar()
13
14 puts $blah
(rdb:1) break 12
Breakpoint 1 file /mnt/hgfs/src/stackoverflow/debug.rb, line 12
(rdb:1) display $blah
1: $blah =
(rdb:1) continue
Breakpoint 1 at /mnt/hgfs/src/stackoverflow/debug.rb:12
1: $blah = 4
/mnt/hgfs/src/stackoverflow/debug.rb:12
bar()
(rdb:1) display $blah
2: $blah = 4
कुंजी आदेश break LINE-NUMBER
और display VARIABLE
हैं। उम्मीद है की वो मदद करदे!
संसाधन
इसका मतलब है कि 'gdb' या कुछ अन्य सी डीबगर का उपयोग करके ब्रेकपॉइंट सेट करें। डिबगिंग सक्षम के साथ रूबी और एक्सटेंशन का उपयोग करना (यानी '-g' के साथ संकलित) सहायक होगा। –
@muistooshort अगर आप यह कैसे कर सकते हैं या एक लिंक प्रदान करने के चरणों में जा सकते हैं, तो मुझे लगता है कि मैं आपको – babonk