One possible way we could solve this would be for WebKit to be aware of Drosera's breakpoints and only make cross-process calls when a breakpoint is hit or Drosera requests that we step.
Another possible way to solve this would be to move debugging to be in-process (as covered by bug 17134).
*** Bug 17554 has been marked as a duplicate of this bug. ***
While a lot of the slowness surely comes from the cross-process calls, some of it definitely comes from WebCore/JSC's debugger infrastructure.
I just tried this with Firefox 2 and Firebug. The performance was not significantly different when Firebug was disabled vs. enabled.
Drosera is going away and JS debugging is now happening in the WebInspector.
Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.