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