]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
BUG 0020024: a --gdb-session option to runSalome ...
authorabd <abd@opencascade.com>
Wed, 29 Oct 2008 14:45:43 +0000 (14:45 +0000)
committerabd <abd@opencascade.com>
Wed, 29 Oct 2008 14:45:43 +0000 (14:45 +0000)
possibility for execution of xterm with gdb during salome starting.

bin/launchConfigureParser.py
bin/runSalome.py

index 74b3cd0a10a88cf2a92f69df2e81df362537dd0c..65b10def1fca9f34945abefc1d5374b3da8a2fe8 100755 (executable)
@@ -51,6 +51,7 @@ except_nam     = "noexcepthandler"
 terminal_nam   = "terminal"
 pinter_nam     = "pinter"
 batch_nam      = "batch"
+gdb_session_nam = "gdb_session"
 
 # values in XML configuration file giving specific module parameters (<module_name> section)
 # which are stored in opts with key <module_name>_<parameter> (eg SMESH_plugins)
@@ -595,6 +596,13 @@ def CreateOptionParser (theAdditionalOptions=[]):
                              dest="ns_port_log_file",
                              help=help_str)
 
+    # gdb session
+    help_str = "Launch session with gdb"
+    o_gdb = optparse.Option("--gdb-session",
+                            action="store_true",
+                            dest="gdb_session", default=False,
+                            help=help_str)
+    
     # All options
     opt_list = [o_t,o_g, # GUI/Terminal
                 o_d,o_o, # Desktop
@@ -614,7 +622,9 @@ def CreateOptionParser (theAdditionalOptions=[]):
                 o_a,     # Print free port and exit
                 o_n,     # --nosave-config
                 o_pi,    # Interactive python console
-                o_nspl]
+                o_nspl,
+                o_gdb,
+                ]
                 
 
     #std_options = ["gui", "desktop", "log_file", "py_scripts", "resources",
@@ -895,6 +905,10 @@ def get_env(theAdditionalOptions=[], appname="SalomeApp"):
     if cmd_opts.pinter is not None:
         args[pinter_nam] = cmd_opts.pinter
 
+    # Interactive python console
+    if cmd_opts.gdb_session is not None:
+        args[gdb_session_nam] = cmd_opts.gdb_session
+
     ####################################################
     # Add <theAdditionalOptions> values to args
     for add_opt in theAdditionalOptions:
index 334f5bafbff6bb98005be772f04ca339acd8e387..780e77a771c0c009292381b6ccc402e30eb3470e 100755 (executable)
@@ -309,7 +309,18 @@ class SessionServer(Server):
             self.CMD=self.SCMD1 + ['\"' + string.join(cata_path,'\"::\"') + '\"'] + self.SCMD2
         else:
             self.CMD=self.SCMD1 + self.SCMD2
-      
+        if self.args["gdb_session"]:
+            f = open(".gdbinit4salome", "w")
+            f.write("set args ")
+            args = " ".join(self.CMD[1:])
+            args = args.replace("(", "\(")
+            args = args.replace(")", "\)")
+            f.write(args)
+            f.write("\n")
+            f.close()
+            self.CMD = ["xterm", "-e", "gdb", "--command=.gdbinit4salome", self.CMD[0]]
+            pass
+        
 # ---
 
 class LauncherServer(Server):