Question about setting a breakpoint

Hello fellow programmers,

I have a question about debugging. To be more specific, about setting a
breakpoint. I’m not sure where to put a breakpoint in the code.

/somecode

class Array
def add

end
end

class String
def triple

end
end

module Module

def self.makesomething
a = []
b = ‘’
a.triple
a.add
c = clean(a)
/debugpoint 1/
b.triple
b.add
end

def self.clean(x)
x
end

end

/somecode

I have three questions:

1 Is a breakpoint allays used to test one def at a time ?
2 I’ve read a breakpoint will ignore everything below itself, is that
true?
3 If 2 is true how can I test ‘makesomething’ while the ‘clean’ method
is ignored??

I will be very pleased if someone will share his or her knowledge!

Tnx!