MessageTracer.st
changeset 2243 886bcbcd310e
parent 2085 21d40e42e3fa
child 2278 a4294d327802
--- a/MessageTracer.st	Tue Dec 01 22:20:33 2009 +0100
+++ b/MessageTracer.st	Fri Dec 04 15:52:17 2009 +0100
@@ -580,7 +580,7 @@
 
 trapMethod:aMethod
     "arrange for the debugger to be entered when aMethod is about to be executed.
-     The trap is enabled for any process - see #trapMethodInCurrentProcess: for a more
+     The trap is enabled for any process - see #trapMethod:inProcess: for a more
      selective breakPoint.
      Use unwrapMethod or untrapClass to remove this trap.
      Be careful, to not place a trap on code needed in the debugger (i.e. on scrollBars etc.);
@@ -675,19 +675,19 @@
 
 trapMethod:aMethod inProcess:aProcess
     "arrange for the debugger to be entered when aMethod is about to be executed,
-     but only, if executed in the current process.
+     but only, if executed aProcess or one of aProcess's offspring.
      This allows for breakpoints to be set on system-critical code.
-     The trap is enabled for any process.
+     The trap will only fire for selected processes (making browsers etc. still usable).
      Use unwrapMethod or untrapClass to remove this trap.
      Be careful, to not place a trap on code needed in the debugger (i.e. on scrollBars etc.);
      if there is a need to trap those, use the low-level wrap-methods, and put a check into the
      entry/leave blocks."
 
     ^ self wrapMethod:aMethod
-              onEntry:[:con | (Processor activeProcess == aProcess)
-                              ifTrue:[
-                                BreakpointSignal raiseRequestWith:nil errorString:nil in:con
-                              ]  
+              onEntry:[:con | 
+                        (Processor activeProcess processGroupId = aProcess id) ifTrue:[
+                            BreakpointSignal raiseRequestWith:nil errorString:nil in:con
+                        ]  
                       ]
                onExit:LeaveBreakBlock.
 
@@ -3183,7 +3183,11 @@
 !MessageTracer class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.108 2009-04-03 12:29:29 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.109 2009-12-04 14:52:17 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic3/MessageTracer.st,v 1.109 2009-12-04 14:52:17 cg Exp $'
 ! !
 
 MessageTracer initialize!