[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] pygrub: add debug flag


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Guido Günther <agx@xxxxxxxxxxx>
  • Date: Fri, 7 Oct 2011 10:45:06 +0200
  • Delivery-date: Fri, 07 Oct 2011 01:45:46 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Debugging config file errors is tedious so help a bit by not silently
dropping parsing exceptions when --debug is given. Also intialize the
logging API at debug level in this case.
Cheers,
 -- Guido

---
 tools/pygrub/src/pygrub |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 52b1823..5dc9405 100644
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -13,7 +13,7 @@
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #
 
-import os, sys, string, struct, tempfile, re
+import os, sys, string, struct, tempfile, re, traceback
 import copy
 import logging
 import platform
@@ -665,7 +665,7 @@ if __name__ == "__main__":
                                    ["quiet", "interactive", "not-really", 
"help", 
                                     "output=", "output-format=", 
"output-directory=",
                                     "entry=", "kernel=", 
-                                    "ramdisk=", "args=", "isconfig"])
+                                    "ramdisk=", "args=", "isconfig", "debug"])
     except getopt.GetoptError:
         usage()
         sys.exit(1)
@@ -679,6 +679,7 @@ if __name__ == "__main__":
     entry = None
     interactive = True
     isconfig = False
+    debug = False
     not_really = False
     output_format = "sxp"
     output_directory = "/var/run/xend/boot"
@@ -714,6 +715,8 @@ if __name__ == "__main__":
             interactive = False
         elif o in ("--isconfig",):
             isconfig = True
+        elif o in ("--debug",):
+            debug = True
         elif o in ("--output-format",):
             if a not in ["sxp", "simple", "simple0"]:
                 print "unkonwn output format %s" % a
@@ -723,6 +726,9 @@ if __name__ == "__main__":
         elif o in ("--output-directory",):
             output_directory = a
 
+    if debug:
+       logging.basicConfig(level=logging.DEBUG)
+
     if output is None or output == "-":
         fd = sys.stdout.fileno()
     else:
@@ -769,6 +775,8 @@ if __name__ == "__main__":
         except:
             # IOErrors raised by fsimage.open
             # RuntimeErrors raised by run_grub if no menu.lst present
+            if debug:
+               traceback.print_exc()
             fs = None
             continue
 
-- 
1.7.6.3

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.