Added 'debug' flags to compile and link methods, and added dummy code for
  someone who knows Windows/MSVC++ to come along and add the right flags.
Comment noting that 'link_static_lib()' signature is inconsistent with
  the other compiler classes (uh-oh!)
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 10cd608..cf4be0d 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -159,6 +159,7 @@
                  output_dir=None,
                  macros=None,
                  include_dirs=None,
+                 debug=0,
                  extra_preargs=None,
                  extra_postargs=None):
 
@@ -190,6 +191,8 @@
             cc_args = self.compile_options + \
                       base_pp_opts + \
                       [outputOpt, inputOpt]
+            if debug:
+                pass                    # XXX what goes here?
             if extra_preargs:
                 cc_args[:0] = extra_preargs
             if extra_postargs:
@@ -200,15 +203,17 @@
         return objectFiles
 
 
-    # XXX this is kind of useless without 'link_binary()' or
-    # 'link_executable()' or something -- or maybe 'link_static_lib()'
-    # should not exist at all, and we just have 'link_binary()'?
+    # XXX the signature of this method is different from CCompiler and
+    # UnixCCompiler -- but those extra parameters (libraries, library_dirs)
+    # are actually used.  So: are they really *needed*, or can they be
+    # ditched?  If needed, the CCompiler API will have to change...
     def link_static_lib (self,
                          objects,
                          output_libname,
                          output_dir=None,
                          libraries=None,
                          library_dirs=None,
+                         debug=0,
                          extra_preargs=None,
                          extra_postargs=None):
 
@@ -223,6 +228,8 @@
 
         ld_args = self.ldflags_static + lib_opts + \
                   objects + ['/OUT:' + output_filename]
+        if debug:
+            pass                        # XXX what goes here?
         if extra_preargs:
             ld_args[:0] = extra_preargs
         if extra_postargs:
@@ -237,6 +244,7 @@
                          output_dir=None,
                          libraries=None,
                          library_dirs=None,
+                         debug=0,
                          extra_preargs=None,
                          extra_postargs=None):
 
@@ -267,6 +275,8 @@
 
         ld_args = self.ldflags_shared + lib_opts + \
                   objects + ['/OUT:' + output_filename]
+        if debug:
+            pass                        # XXX what goes here?
         if extra_preargs:
             ld_args[:0] = extra_preargs
         if extra_postargs: