diff --git a/Lib/bdb.py b/Lib/bdb.py index 9f5e7ae630d..f711004483d 100644 --- a/Lib/bdb.py +++ b/Lib/bdb.py @@ -385,6 +385,8 @@ class Bdb: if locals is None: locals = globals self.reset() + if isinstance(cmd, str): + cmd = compile(cmd, "", "exec") sys.settrace(self.trace_dispatch) try: exec(cmd, globals, locals) diff --git a/Misc/NEWS b/Misc/NEWS index cd55adb06c8..3cd9257d7bd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,9 @@ Core and Builtins Library ------- +- Issue #10492: bdb.Bdb.run() only traces the execution of the code, not the + compilation (if the input is a string). + - Issue #7995: When calling accept() on a socket with a timeout, the returned socket is now always blocking, regardless of the operating system.