Irgendwas scheint da massiv nicht zu stimmen, wenn selbst eine popelige EDevByZero-
Exception durch try-except nicht abgefangen wird. Bei mir (XP, SP2, in einer VM) funktioniert es jedenfalls ohne Probleme, auch mit int3 und DebugBreak(). Hast du den Code mal auf einem zweiten System (vorzugsweise einer möglichst sauberen Installation) kompiliert und getestet?

Zitat von
jfheins:
In der Hilfe zu DebugBreak steht nämlich:
Zitat:
If the process is not being debugged,
the function uses the search logic of a standard exception handler. In most cases, this causes the calling process to terminate because of an unhandled breakpoint
exception.
Ich habe mal das markiert, worauf es ankommt

DebugBreak() tut auch nichts anderes, als eine schnöde
Exception zu werfen, die wie jede andere auch abgefangen werden kann.