title: ipdb.set_trace inside __set__ descriptor does not work
body: <p>I'm trying to debug/understand the Django's API to build my own ORM. I've changed set and get descriptors from Fields to do what I want (validate when I set the object). Here's the code: </p>
  
  <pre class="lang-py prettyprint-override"><code>def __set__(self, obj, value):
          self.value = self.clean(value)
  </code></pre>
  
  <p>Some Fields are bugged because I've changed a lot of things inside it, and it crashes when I set the object.
  When I try to debug like:</p>
  
  <pre class="lang-py prettyprint-override"><code>def __set__(self, obj, value):
          import ipdb;ipdb.set_trace()
          self.value = self.clean(value)
  </code></pre>
  
  <p>the python stalls and I can't do nothing but stop the process than kill it or just close the terminal.</p>
  
  <p>Does anyone know why ipdb can't handle this kind of call?</p>