diff --git a/Misc/ACKS b/Misc/ACKS
index f7ac37e..b951446 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1250,6 +1250,7 @@
 Antoine Pitrou
 Jean-François Piéronne
 Oleg Plakhotnyuk
+Marcel Plch
 Remi Pointel
 Jon Poler
 Ariel Poliak
diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst b/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst
new file mode 100644
index 0000000..3d515b3
--- /dev/null
+++ b/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst
@@ -0,0 +1 @@
+Fix pystackv and pystack gdbinit macros.
diff --git a/Misc/gdbinit b/Misc/gdbinit
index 9f21621..afefe08 100644
--- a/Misc/gdbinit
+++ b/Misc/gdbinit
@@ -42,8 +42,8 @@
     set $_i = 0
     while $_i < f->f_code->co_nlocals
 	if f->f_localsplus + $_i != 0
-	    set $_names = co->co_varnames
-	    set $_name = _PyUnicode_AsString(PyTuple_GetItem($_names, $_i))
+	    set $_names = f->f_code->co_varnames
+	    set $_name = PyUnicode_AsUTF8(PyTuple_GetItem($_names, $_i))
 	    printf "%s:\n", $_name
             pyo f->f_localsplus[$_i]
 	end
@@ -84,8 +84,8 @@
 end
 
 define pyframe
-    set $__fn = _PyUnicode_AsString(co->co_filename)
-    set $__n = _PyUnicode_AsString(co->co_name)
+    set $__fn = PyUnicode_AsUTF8(f->f_code->co_filename)
+    set $__n = PyUnicode_AsUTF8(f->f_code->co_name)
     printf "%s (", $__fn
     lineno
     printf "): %s\n", $__n
@@ -110,7 +110,7 @@
 #end
 
 define printframe
-    if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
+    if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
 	pyframe
     else
         frame
@@ -139,7 +139,7 @@
 end
 define pystack
     while $pc < Py_Main || $pc > Py_GetArgcArgv
-        if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
+        if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
 	    pyframe
         end
         up-silently 1
@@ -152,7 +152,7 @@
 end
 define pystackv
     while $pc < Py_Main || $pc > Py_GetArgcArgv
-        if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
+        if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
 	    pyframev
         end
         up-silently 1
diff --git a/Python/ceval.c b/Python/ceval.c
index da83e41..422a29e 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -3661,7 +3661,7 @@
 }
 
 /* This is gonna seem *real weird*, but if you put some other code between
-   PyEval_EvalFrame() and PyEval_EvalCodeEx() you will need to adjust
+   PyEval_EvalFrame() and _PyEval_EvalFrameDefault() you will need to adjust
    the test in the if statements in Misc/gdbinit (pystack and pystackv). */
 
 PyObject *
