You probably are not placing the teams at the breakpoint you are thinking about.
If I were you, I would change the script to the following:
define setup
handle SIGTRAP noprint nostop
br 'Class1::Fun1(void)'
run
br 'Class2::Run(void)'
c
br Function2
commands
return 0
c
end
end
, commands . , , gdb, Function2.