These two are actually very different.
That code should be debuggable.
This one is fine - this is the correct and natural way to say what you're trying to say.
That code should be able to debug.
This one made me laugh a little bit, because I'm pretty sure you didn't intend to write this. Plus I wish what you wrote actually existed. It would make things a lot easier for me.
So what you actually wrote here is that your code should have the ability to debug. In other words, you wrote some sort of intelligent AI that is able to debug other code. Man, that'd be amazing. Definitely not what you meant though.
What you were probably looking for was this
That code should be able to be debugged.
Now that is grammatically sound, however it is not ever said this way because the structure is needlessly complicated.
Stick with the first choice for practically all uses. They have equivalent meaning, but in my experience, the first choice is much more common.