* dumper.cc (main): Change command-line arguments format to be
similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to CYGWIN environment variable to perform core dumping in case of program crash. (usage): Ditto.
This commit is contained in:
		
							parent
							
								
									d969111291
								
							
						
					
					
						commit
						92ef5188af
					
				| 
						 | 
				
			
			@ -1,3 +1,11 @@
 | 
			
		|||
2001-09-09  Egor Duda  <deo@logos-m.ru>
 | 
			
		||||
 | 
			
		||||
	* dumper.cc (main): Change command-line arguments format to be
 | 
			
		||||
	similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
 | 
			
		||||
	CYGWIN environment variable to perform core dumping in case of
 | 
			
		||||
	program crash.
 | 
			
		||||
	(usage): Ditto.
 | 
			
		||||
 | 
			
		||||
Wed Sep  5 22:37:21 2001  Christopher Faylor <cgf@cygnus.com>
 | 
			
		||||
 | 
			
		||||
	* Makefile.in (dumper): Change logic for libbfd and libintl so that
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,9 +36,9 @@ __attribute__ ((packed))
 | 
			
		|||
#endif
 | 
			
		||||
  note_header;
 | 
			
		||||
 | 
			
		||||
     BOOL verbose = FALSE;
 | 
			
		||||
BOOL verbose = FALSE;
 | 
			
		||||
 | 
			
		||||
     int deb_printf (const char *format,...)
 | 
			
		||||
int deb_printf (const char *format,...)
 | 
			
		||||
{
 | 
			
		||||
  if (!verbose)
 | 
			
		||||
    return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -768,10 +768,12 @@ dumper::write_core_dump ()
 | 
			
		|||
static void
 | 
			
		||||
usage ()
 | 
			
		||||
{
 | 
			
		||||
  fprintf (stderr, "Usage: dumper [-d] [-c filename] pid\n");
 | 
			
		||||
  fprintf (stderr, "-c filename -- dump core to filename.core\n");
 | 
			
		||||
  fprintf (stderr, "-d          -- print some debugging info while dumping\n");
 | 
			
		||||
  fprintf (stderr, "pid         -- win32-pid of process to dump\n");
 | 
			
		||||
  fprintf (stderr, "Usage: dumper [options] filename pid\n");
 | 
			
		||||
  fprintf (stderr, "filename -- dump core to filename.core\n");
 | 
			
		||||
  fprintf (stderr, "pid      -- win32-pid of process to dump\n\n");
 | 
			
		||||
  fprintf (stderr, "Possible options are:\n");
 | 
			
		||||
  fprintf (stderr, "-d       -- be verbose while dumping\n");
 | 
			
		||||
  fprintf (stderr, "-q       -- be quite while dumping (default)\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
| 
						 | 
				
			
			@ -780,23 +782,38 @@ main (int argc, char **argv)
 | 
			
		|||
  int opt;
 | 
			
		||||
  const char *p = "";
 | 
			
		||||
  DWORD pid;
 | 
			
		||||
  char win32_name [MAX_PATH];
 | 
			
		||||
 | 
			
		||||
  while ((opt = getopt (argc, argv, "dc:")) != EOF)
 | 
			
		||||
  while ((opt = getopt (argc, argv, "dq")) != EOF)
 | 
			
		||||
    switch (opt)
 | 
			
		||||
      {
 | 
			
		||||
      case 'd':
 | 
			
		||||
	verbose = TRUE;
 | 
			
		||||
	break;
 | 
			
		||||
      case 'c':
 | 
			
		||||
	char win32_name[MAX_PATH];
 | 
			
		||||
	cygwin_conv_to_win32_path (optarg, win32_name);
 | 
			
		||||
	if ((p = strrchr (win32_name, '\\')))
 | 
			
		||||
	  p++;
 | 
			
		||||
	else
 | 
			
		||||
	  p = win32_name;
 | 
			
		||||
      case 'q':
 | 
			
		||||
	verbose = FALSE;
 | 
			
		||||
	break;
 | 
			
		||||
      default:
 | 
			
		||||
	usage ();
 | 
			
		||||
	break;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
  if (argv && *(argv + optind) && *(argv + optind +1))
 | 
			
		||||
    {
 | 
			
		||||
      *win32_name = '\0';
 | 
			
		||||
      cygwin_conv_to_win32_path (*(argv + optind), win32_name);
 | 
			
		||||
      if ((p = strrchr (win32_name, '\\')))
 | 
			
		||||
	p++;
 | 
			
		||||
      else
 | 
			
		||||
	p = win32_name;
 | 
			
		||||
      pid = atoi (*(argv + optind + 1));
 | 
			
		||||
    }
 | 
			
		||||
  else
 | 
			
		||||
    {
 | 
			
		||||
      usage ();
 | 
			
		||||
      return -1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  char *core_file = (char *) malloc (strlen (p) + sizeof (".core"));
 | 
			
		||||
  if (!core_file)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			@ -805,14 +822,6 @@ main (int argc, char **argv)
 | 
			
		|||
    }
 | 
			
		||||
  sprintf (core_file, "%s.core", p);
 | 
			
		||||
 | 
			
		||||
  if (argv && *(argv + optind))
 | 
			
		||||
    pid = atoi (*(argv + optind));
 | 
			
		||||
  else
 | 
			
		||||
    {
 | 
			
		||||
      usage ();
 | 
			
		||||
      return -1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  DWORD tid = 0;
 | 
			
		||||
 | 
			
		||||
  if (verbose)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue