diff --git a/Lib/inspect.py b/Lib/inspect.py
index b0b2d3a..c727530 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -524,9 +524,13 @@
     or code object.  The source code is returned as a list of all the lines
     in the file and the line number indexes a line in that list.  An IOError
     is raised if the source code cannot be retrieved."""
-    file = getsourcefile(object)
-    if not file:
+
+    file = getfile(object)
+    sourcefile = getsourcefile(object)
+    if not sourcefile and file[0] + file[-1] != '<>':
         raise IOError('source code not available')
+    file = sourcefile if sourcefile else file
+
     module = getmodule(object, file)
     if module:
         lines = linecache.getlines(file, module.__dict__)
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index d93ffec..b8c9a18 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -295,6 +295,23 @@
         del sys.modules[name]
         inspect.getmodule(compile('a=10','','single'))
 
+    def test_proceed_with_fake_filename(self):
+        '''doctest monkeypatches linecache to enable inspection'''
+        fn, source = '<test>', 'def x(): pass\n'
+        getlines = linecache.getlines
+        def monkey(filename, module_globals=None):
+            if filename == fn:
+                return source.splitlines(True)
+            else:
+                return getlines(filename, module_globals)
+        linecache.getlines = monkey
+        try:
+            ns = {}
+            exec compile(source, fn, 'single') in ns
+            inspect.getsource(ns["x"])
+        finally:
+            linecache.getlines = getlines
+
 class TestDecorators(GetSourceBase):
     fodderFile = mod2
 
diff --git a/Misc/NEWS b/Misc/NEWS
index b15da79..bbd076a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -16,6 +16,9 @@
 Library
 -------
 
+- Issue #9284: Allow inspect.findsource() to find the source of doctest
+  functions.
+
 - Issue #10694: zipfile now ignores garbage at the end of a zipfile.
 
 - Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes
