It's probably the output capture -- it's not hung, but the prompt was
written to a stream that's not going to stdout. Internally nose turns
off capture before calling pdb, I'd think you should be able to do the
same by wrapping the call in something like:
def trace():
tmp = sys.stdout
sys.stdout = sys.__stdout__
pdb.set_trace()
sys.stdout = tmp
JP