cldwalker / debugger

port of ruby-debug that works on 1.9.2 and 1.9.3
BSD 2-Clause "Simplified" License
846 stars 80 forks source link

global vars command fails in rails project #103

Open os97673 opened 10 years ago

os97673 commented 10 years ago

I have very basic Rails 4 project (https://github.com/akutarba/rails4-debugger-xml-app) There is a breakpoint at https://github.com/akutarba/rails4-debugger-xml-app/blob/master/app/controllers/shops_controller.rb#7. I run it with ruby-1.9.3-p448, open http://localhost:3000/shops in browser to stop at the break point and try to get global vars (v g command) I'm getting "*\ Errno::ENOENT Exception: No such file or directory - -b"

It looks like debugger fails to evaluate $FILENAME for some reasons :( The quick workaround for the problem would be filter $FILENAME out of list of global vars in ::Debugger::VarFunctions#var_global, but it is unclear why it is evaluated correctly in other situations.

cldwalker commented 10 years ago

Thanks for reporting your issue! This is one of my 10 active issues. Use that link to check how soon your issue will be answered. Don't forget to check your issue against this project's CONTRIBUTING.md. Cheers.

cldwalker commented 10 years ago

It's possible this is happening because the rescues are too weak. Pull request to handle the above exception would be great

os97673 commented 10 years ago

@cldwalker actually the problem is that Command#debug_eval throws :debug_error and the code you've pointed doesn't catch it. Do you think it should?