[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49060] trunk/blender/source/blender/ python/generic/py_capi_utils.c: handy function for getting a python stacktrace while debugging in gdb

Campbell Barton ideasman42 at gmail.com
Thu Jul 19 11:55:50 CEST 2012


Revision: 49060
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49060
Author:   campbellbarton
Date:     2012-07-19 09:55:49 +0000 (Thu, 19 Jul 2012)
Log Message:
-----------
handy function for getting a python stacktrace while debugging in gdb

Modified Paths:
--------------
    trunk/blender/source/blender/python/generic/py_capi_utils.c

Modified: trunk/blender/source/blender/python/generic/py_capi_utils.c
===================================================================
--- trunk/blender/source/blender/python/generic/py_capi_utils.c	2012-07-19 09:23:31 UTC (rev 49059)
+++ trunk/blender/source/blender/python/generic/py_capi_utils.c	2012-07-19 09:55:49 UTC (rev 49060)
@@ -152,6 +152,21 @@
 	fprintf(stderr, "%s:%d\n", filename, lineno);
 }
 
+void PyC_StackSpit(void)
+{
+	/* Note, allow calling from outside python (RNA) */
+	if (!PYC_INTERPRETER_ACTIVE) {
+		fprintf(stderr, "python line lookup failed, interpreter inactive\n");
+		return;
+	}
+	else {
+		/* lame but handy */
+		PyGILState_STATE gilstate = PyGILState_Ensure();
+		PyRun_SimpleString("__import__('traceback').print_stack()");
+		PyGILState_Release(gilstate);
+	}
+}
+
 void PyC_FileAndNum(const char **filename, int *lineno)
 {
 	PyFrameObject *frame;




More information about the Bf-blender-cvs mailing list