--- a/src/eric7/Debugger/DebuggerInterfacePython.py Mon Nov 06 19:12:33 2023 +0100 +++ b/src/eric7/Debugger/DebuggerInterfacePython.py Tue Nov 07 11:03:13 2023 +0100 @@ -215,6 +215,11 @@ multiprocessEnabled = ( "--multiprocess" if Preferences.getDebugger("MultiProcessEnabled") else "" ) + callTraceOptimization = ( + "--call-trace-optimization" + if Preferences.getDebugger("PythonCallTraceOptimization") + else "" + ) if Preferences.getDebugger("RemoteDbgEnabled"): ipaddr = self.debugServer.getHostAddress(False) @@ -232,6 +237,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), redirect, ipaddr]) if OSUtilities.isWindowsPlatform(): if not os.path.splitext(args[0])[1]: @@ -301,6 +308,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), "0", ipaddr]) args[0] = FileSystemUtilities.getExecutablePath(args[0]) process = self.__startProcess( @@ -322,6 +331,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), redirect, ipaddr]) process = self.__startProcess( interpreter, args, clientEnv, workingDir=workingDir @@ -410,6 +421,11 @@ multiprocessEnabled = ( "--multiprocess" if Preferences.getDebugger("MultiProcessEnabled") else "" ) + callTraceOptimization = ( + "--call-trace-optimization" + if Preferences.getDebugger("PythonCallTraceOptimization") + else "" + ) if venvName and venvName != self.debugServer.getProjectEnvironmentString(): venvManager = ericApp().getObject("VirtualEnvManager") @@ -445,6 +461,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), redirect, ipaddr]) if OSUtilities.isWindowsPlatform(): if not os.path.splitext(args[0])[1]: @@ -514,6 +532,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), "0", ipaddr]) args[0] = FileSystemUtilities.getExecutablePath(args[0]) process = self.__startProcess( @@ -535,6 +555,8 @@ args.append(noencoding) if multiprocessEnabled: args.append(multiprocessEnabled) + if callTraceOptimization: + args.append(callTraceOptimization) args.extend([str(port), redirect, ipaddr]) process = self.__startProcess( interpreter, args, clientEnv, workingDir=workingDir