Document 'cy exec'
authorMark Florisson <eggy.nospam@gmail.com>
Sat, 13 Nov 2010 01:19:50 +0000 (02:19 +0100)
committerMark Florisson <eggy.nospam@gmail.com>
Sat, 13 Nov 2010 01:19:50 +0000 (02:19 +0100)
src/userguide/debugging.rst

index c7c619e95fc4e2a8606c1bb77f2948ab41008669..79ad225fdc8207034e064262a3fe5fb5b9e0f4d7 100644 (file)
@@ -168,6 +168,30 @@ of these commands are analogous to their respective gdb command.
     Import debug information from files given as arguments. The easiest way to
     import debug information is to use the cygdb command line tool.
 
+.. function:: cy exec code
+
+    Execute code in the current Python or Cython frame. This works like
+    Python's interactive interpreter. 
+
+    For Python frames it uses the globals and locals from the Python frame,
+    for Cython frames it uses the dict of globals used on the Cython module
+    and a new dict filled with the local Cython variables.
+
+.. note:: ``cy exec`` modifies state and executes code in the debuggee and is
+          therefore potentially dangerous.           
+
+Example::
+
+    (gdb) cy exec x + 1
+    2
+    (gdb) cy exec import sys; print sys.version_info
+    (2, 6, 5, 'final', 0)
+    (gdb) cy exec
+    >global foo
+    >
+    >foo = 'something'
+    >end
+
 Convenience functions
 =====================
 The following functions are gdb functions, which means they can be used in a