Debugging For Fun and Profit | Upcase

In this week's video Chris is joined by Derek Prior and they run through the process used to solve a real production bug on Upcase! Check out the PR that fixes the bug discussed in this video for more context. Debugging Workflow Video 4 on Vim ...
This is a companion discussion topic for the original entry at https://thoughtbot.com/upcase/videos/debugging-for-fun-and-profit

Great video! Another thing I like using is gem-ctags to add ctags to methods in bundled gems so you can just go to the function you’re looking for and ctrl+] to jump to it.

Some useful techniques, thanks.

This is great stuff. Thanks for sharing. I did run into one issue: the link for the actual pull request didn’t work. I was interested in seeing the actual fix in its entirety if possible.

Wow…i love this episode.

I use Better Errors and Pry, but I have never used show-source so I will be sure to do that next time. That blew my mind.

I am also just getting my feet wet with Testing, so the way you guys used it here…was brilliant for me. It really made it hit home and showed the power of testing to remove having to do unwanted actions over and over during debugging.

Love that!

Hello @billperegoy, you need to have access to the Upcase repo to view the PR. You can see the repos and get access on this page: https://thoughtbot.com/upcase/repositories.

@cristoomey,
I see you guys use
nmap <leader>bp orequire 'pry'; binding.pry<esc>^

You can also achieve same result using vim abbreviations
iabbrev r require
iabbrev rr require_relative
iabbrev bp binding.pry
iabbrev ini initialize

with this typing bp and hitting space would expand it. Although in your case it won’t probably be that useful, since you use space for a leader. in this case there will be a second lag.