diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index b430822..b3e4733 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -283,6 +283,13 @@
         f = Foo()
         self.assertRaises(TypeError, dir, f)
 
+        # dir(traceback)
+        try:
+            raise IndexError
+        except:
+            self.assertEqual(len(dir(sys.exc_info()[2])), 4)
+
+
     def test_divmod(self):
         self.assertEqual(divmod(12, 7), (1, 5))
         self.assertEqual(divmod(-12, 7), (-2, 2))
diff --git a/Python/traceback.c b/Python/traceback.c
index aa99ab4..5bb8841 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -11,6 +11,18 @@
 
 #define OFF(x) offsetof(PyTracebackObject, x)
 
+static PyObject *
+tb_dir(PyTracebackObject *self)
+{
+    return Py_BuildValue("[ssss]", "tb_frame", "tb_next",
+                                   "tb_lasti", "tb_lineno");
+}
+
+static PyMethodDef tb_methods[] = {
+   {"__dir__", (PyCFunction)tb_dir, METH_NOARGS},
+   {NULL, NULL, 0, NULL},
+};
+
 static PyMemberDef tb_memberlist[] = {
 	{"tb_next",	T_OBJECT,	OFF(tb_next),	READONLY},
 	{"tb_frame",	T_OBJECT,	OFF(tb_frame),	READONLY},
@@ -73,7 +85,7 @@
 	0,					/* tp_weaklistoffset */
 	0,					/* tp_iter */
 	0,					/* tp_iternext */
-	0,					/* tp_methods */
+	tb_methods,	/* tp_methods */
 	tb_memberlist,	/* tp_members */
 	0,					/* tp_getset */
 	0,					/* tp_base */
