Elena Zannoni wrote: > > Michael Snyder writes: > > Elena Zannoni wrote: > > > > > > Michael Snyder writes: > > > > > > > > Currently if you invoke gdb as: > > > > > > > > gdb filename 12345 > > > > > > > > gdb will attempt to open a corefile called "12345", and if that > > > > fails it will print a "file not found" warning, and then attempt > > > > to attach to a process "12345". > > > > > > > > There is a "--core " command-line argument, > > > > so that you can specify a corefile without a symbol file: > > > > > > > > gdb --core > > > > > > > > but there is no "--pid" option to allow you to specify > > > > a process-id without a symbol file. > > > > > > > > This patch does two things: > > > > > > > > 1) Add a "--pid" option to allow specification of an attach pid. > > > > > > > > > > This bit is approved. > > > > > > > 2) If the second argument (after the symbol-file) begins with > > > > a digit, try attach first instead of trying to open it as a > > > > corefile first. This eliminates the "file not found" warning. > > > > > > > > > > About this, I have a question, what happens if you have a corefile > > > whose name starts with a digit? I tried it and I get an error: > > > > > > [ezannoni@localhost gdb]$ ./gdb -nw ./gdb 2222core > > > GNU gdb 2002-01-03-cvs > > > Copyright 2001 Free Software Foundation, Inc. > > > GDB is free software, covered by the GNU General Public License, and you are > > > welcome to change it and/or distribute copies of it under certain conditions. > > > Type "show copying" to see the conditions. > > > There is absolutely no warranty for GDB. Type "show warranty" for details. > > > This GDB was configured as "i686-pc-linux-gnu"... > > > Attaching to program: /home/ezannoni/sources/native/gdb/gdb, process 2222 > > > ptrace: No such process. > > > > > > then it proceeds normally to figure out it's a core file. > > > > Right -- this is actually the reverse of the old behavior > > (before my change). Previously the algorythm was this: > > > > Try to open a corefile > > on failure, if isdigit(string[0]) > > try to attach a pid. > > > > So if it was really a pid, you always got an error when > > it tried to open it as a corefile. Now the algorythm is: > > > > if isdigit (string[0]) > > try to attach a pid > > on failure, try to open a corefile > > else try to open a corefile > > > > So the only time you will get a failure warning is > > if you have a corefile whose name begins with a digit. > > I think that's an improvement (warning should be less > > frequent). > > > > Yes, that's what I wanted to point out. We are swapping an error > message with another. The advantage is that the warning shouldn't come > up as often. Can you commit this, adding the bit to the docs about > specifying './2222core' instead of '2222core'? OK, got it, doc change attached. This is committed.