พวกคุณใช้อะไรในการแก้จุดบกพร่องใน Ruby 1.9? rdebug ดูไม่เข้ากัน .. มีอะไรรึเปล่า?
พวกคุณใช้อะไรในการแก้จุดบกพร่องใน Ruby 1.9? rdebug ดูไม่เข้ากัน .. มีอะไรรึเปล่า?
คำตอบ:
หมายเหตุ: คำตอบนี้ถูกต้อง แต่ล้าสมัยแล้ว ดูคำตอบที่ถูกต้องด้านล่าง TL; DR: ใช้ 'debugger' ทันที
ตอนนี้ Ruby-debug สามารถใช้ได้กับ Ruby 1.9.x. ดูhttp://www.github.com/mark-moseley
ในการติดตั้ง (โดยใช้อัญมณีในการติดตั้ง 1.9 Ruby):
gem install ruby-debug19
(อาจมี 'sudo' ที่จำเป็นอยู่ข้างหน้า)
ruby-debug19
ไม่ได้รับการบำรุงรักษาอีกต่อไป คำตอบอื่น ๆ ทั้งหมดล้าสมัย
แต่มีทางเลือกอื่น:
debugger
ช่วยเหลือ!
ใส่สิ่งนี้ไว้ในGemfile
:
gem 'debugger', group: [:development, :test]
มันใช้งานได้ - และมันจะรวมอยู่ในราง Gemfile ตั้งแต่ 3.2.something ruby-debug19
จะเข้ามาแทนที่ มีฟังก์ชันการทำงานเหมือนกันทุกประการและได้รับการบำรุงรักษาอย่างต่อเนื่อง
group :development do ... end
หรือสิ่งที่คล้ายกัน) เพราะมีกลุ่มอยู่แล้ว
อัปเดตสำหรับ RUBY 2.0+ และกำลังติดตาม
byebugคือดีบักเกอร์ที่แนะนำสำหรับ Ruby 2.0+
ปัญหานี้ได้รับการบันทึกไว้ที่นี่และ cldwalker ผู้เขียนดีบักเกอร์ตั้งข้อสังเกตว่าดีบักเกอร์จะถูกกำหนดขอบเขตเป็น Ruby 1.9.2 และ 1.9.3
อัปเดต 2
เป็นความจริงที่ว่า Ruby-debug ไม่ได้รับการดูแลอย่างแข็งขันแม้ว่าฉันจะไม่พบที่ใดก็ตามที่ไม่ได้รับการดูแลอีกต่อไป
คุณสามารถใช้อัญมณีดีบักใหม่ถ้าคุณต้องการความช่วยเหลือจะเริ่มต้นด้วยอัญมณีใหม่ที่คุณสามารถดูไรอันเบตส์รางหล่อ
ใน Gemfile ของคุณใส่:
gem 'debugger', group: [:development, :test]
จากนั้นคุณสามารถเพิ่มเบรกพอยต์ที่ใดก็ได้ในโค้ดของคุณโดยใช้debugger
คีย์เวิร์ด
คุณยังคงใช้งานได้
linecache19 และ ruby-debug-base19 ด้วย:
ทุบตี <<(curl -L https://raw.github.com/gist/1333785 )
คำตอบเก่า ๆ
เพียงแค่เพิ่มเกี่ยวกับเรื่องนี้ด้วย rvm, Ruby 1.9.1-p378 เรื่องจริงคือแม้ว่า ruby-debug จะพร้อมใช้งาน 1.9.x แต่ linecache-0.43 ก็ไม่ได้ วิธีแก้ปัญหาคือการติดตั้ง:
gem install ruby-debug19
วิธีนี้ช่วยแก้ปัญหาให้ฉันได้
อัปเดตเก่า
หากคุณกำลังมีปัญหากับการดีบัก Ruby 1.9.2 และ Rails 3:
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
ใน Gemfile ของคุณและทำไฟล์
bundle install
จะทำให้คุณกลับมามีความสุขอีกครั้ง
บางสิ่งที่คุณสามารถลองได้
1) เรียกใช้ด้วยดีบักเกอร์ปกติของ Ruby -rdebug [1] ชนิดช้า
2) เรียกใช้ด้วยอัญมณี unroller [ชนิดของกลิ่นเหม็นวิธีที่ช้า]
3) ใช้งบการพิมพ์จำนวนมากอย่างรวดเร็วชนิดของการวิปัสสนาน้อยเป็นไปได้
4) ไปที่ irb prompt และเรียกใช้โค้ดจากที่นั่น
คุณสามารถแสดงรายการรหัสโดยการสร้าง "drop to irb prompt" ของคุณเองที่แสดงรายการรหัสรอบตัว [ใช้ผู้โทรเพื่อค้นหาว่าคุณอยู่ที่ไหน] จากนั้นไปที่พรอมต์ irb ตามปกติ
5) อาจจะพังในโหมด 1.9 compat มี debugger?
หากคุณยังคงมีปัญหาหลังจากติดตั้ง ruby-debug19 แล้วให้ลองอัปเดต ruby-debug-base19 ฉันมีข้อผิดพลาดและไม่สามารถเรียกใช้ WEBrick ในโหมดดีบักได้จนกว่าฉันจะทำเช่นนั้น
gem update ruby-debug-base19
โอ้และขอบคุณ Mr.Moseley สำหรับการทำงานหนักทั้งหมดของคุณ!
ดูคำตอบของฉันที่นี่: Ruby-debug ไม่ทำงาน - c # - Program QA
เป็นเรื่องของการทำให้ Ruby debugging ทำงานกับการตั้งค่าต่อไปนี้
ใช้ rvm ในไดเรกทอรีการทำงานโครงการของฉันฉันมี. rvmrc ระบุว่า:
rvm use ruby-1.9.3-p0@mygemset
ฉันหวังว่านี่จะช่วยได้!
- เฟรดดี้
ฉันใช้การติดตามและมันได้ผลดีสำหรับฉัน:
gem 'debugger', group: [: development,: test]
ทับทิม 1.9.3p194 (2012-04-20 แก้ไข 35410) ราง [x86_64-linux] 3.2.8
Netbeans เป็น IDE ที่ดีสำหรับ RoR ดีบั๊กด้วย
รุ่น Ruby 1.9.1-p243 ออกมาแล้วและ Ruby-debug-ide ที่เข้ากันได้ก็ทำงานอย่างถูกต้องเช่นกัน ติดตั้ง ruby-debug-ide โดยใช้คำสั่งต่อไปนี้:
อัญมณีติดตั้ง Ruby-debug-ide
สิ่งนี้จะติดตั้งอัญมณี ruby-debug-base19 และ Ruby-debug-ide แต่ก่อนนี้ทำให้แน่ใจว่าคุณติดตั้ง MinGW ประสบความสำเร็จโดยทำตามเอกสารชุดพัฒนาที่มีอยู่จากRubyForge
คุณสมบัติล่าสุดมีอยู่ในอัญมณี Ruby-debug-ide19
มีให้เลือกมากขึ้นอยู่กับความต้องการของคุณ
ฉันใช้pry-moveเพราะฉันสามารถ "มองย้อนกลับไป" ถึงสิ่งที่เกิดขึ้นภายในคำสั่งก่อนหน้านี้โดยการเรียกใช้งานอีกครั้งในโหมดดีบักจากที่เดิม
ไม่มีใครใช้: ruby -rdebug script.rb
จากนั้นคุณสามารถใช้: b script.rb: ## (โดยที่ ## คือหมายเลขบรรทัดของคำสั่งทับทิมที่ถูกต้อง) มิฉะนั้นคุณอาจอยู่ตรงกลางทับทิมหรือโค้ดที่คุณต้องการ
จากนั้นคุณสามารถตั้งค่าเบรกพอยต์ถัดไปเป็น b: ##
ruby-debug19
ล้าสมัยในขณะนี้