I just had my first fun with Pep 393 strings and debuggers.  Trying to debug a 
deadlocked python program, I'm trying to figure out the callstack of the thread 
in the debugger.

I ended up with something like:



(char*)&((PyASCIIObject*)(tstate->frame->f_code->co_filename))[1]



while previously, it was sufficient to do

(PyUnicodeObject*)(tstate->frame->f_code->co_filename)



Obviously this won't work for non-ASCII objects.

I wonder if there is a way to make this situation easier?  Perhaps for "debug" 
builds, we can store some debug information in the frame object, e.g. utf8 
encoding of the filename and function?



K




_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to