* Re: Attach filter should use glob matching not regexp.
[not found] <394C203C.7882A1A1@cygnus.com>
@ 2000-06-26 7:52 ` Mo DeJong
2000-06-26 10:48 ` Jim Ingham
0 siblings, 1 reply; 8+ messages in thread
From: Mo DeJong @ 2000-06-26 7:52 UTC (permalink / raw)
To: insight
On Sun, 18 Jun 2000, Fernando Nasser wrote:
> You are probably right. Could you write a patch if you have time?
> If not I will try to look at that next month as part of the GNUPro
> 2000 cleanups.
>
> Thanks.
> Fernando
>
> Mo DeJong wrote:
> >
> > I just tried to type * into the Filter: entry in the attach
> > to process dialog. It errored out saying "regular expression
> > * follows nothing". This really should use glob matching not
> > regexp matching.
How about this? Is there a better way to look at the process
table? Is this something that gdb provides an interface to?
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/library/ChangeLog,v
retrieving revision 1.22
diff -u -r1.22 ChangeLog
--- ChangeLog 2000/06/08 20:30:07 1.22
+++ ChangeLog 2000/06/26 14:48:45
@@ -1,3 +1,9 @@
+2000-06-26 Mo DeJong <mdejong@redhat.com>
+
+ * attachdlg.itb (list_pids): Use "ps axw" to get pid list, use
+ string match instead of regexp in ps filter.
+ * attachdlg.ith (list_pids): Change default argument to "*".
+
2000-06-06 Fernando Nasser <fnasser@cygnus.com>
* util.tcl (find_iwidgets_library): Add missing global declaration
Index: attachdlg.itb
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/library/attachdlg.itb,v
retrieving revision 1.3
diff -u -r1.3 attachdlg.itb
--- attachdlg.itb 2000/03/09 16:02:27 1.3
+++ attachdlg.itb 2000/06/26 14:48:46
@@ -37,6 +37,8 @@
-command [code $this filter_pid_selection]
}
+ $itk_component(pid_filter) insert 0 *
+
itk_component add pid_sep {
frame [$itk_component(choose_pid) childsite].sep \
-height 2 -borderwidth 1 -relief sunken
@@ -153,8 +155,8 @@
# point we should steal some C code to do it by hand.
# ------------------------------------------------------------------
-body AttachDlg::list_pids {{expr {}}} {
- if {[catch {::open "|ps w" r} psH]} {
+body AttachDlg::list_pids {{pattern *}} {
+ if {[catch {::open "|ps axw" r} psH]} {
set errTxt "Could not exec ps: $psH
You will have to enter the PID by hand."
ManagedWin::open WarningDlg -message [list $errTxt]
@@ -163,7 +165,7 @@
gets $psH header
set nfields [llength $header]
- set nfields_m_1 [expr $nfields - 1]
+ set nfields_m_1 [expr {$nfields - 1}]
set regexp {^ *([^ ]*) +}
for {set i 1} {$i < $nfields_m_1} {incr i} {
append regexp {[^ ]* +}
@@ -175,7 +177,7 @@
while {[gets $psH line] >= 0} {
regexp $regexp $line dummy PID COMMAND
- if {$expr == "" || [regexp $expr $COMMAND dummy]} {
+ if {[string match $pattern $COMMAND]} {
lappend pid_list [list $PID $COMMAND]
$itk_component(choose_pid) insert end $COMMAND
}
Index: attachdlg.ith
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/library/attachdlg.ith,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 attachdlg.ith
--- attachdlg.ith 2000/02/07 00:19:42 1.1.1.1
+++ attachdlg.ith 2000/06/26 14:48:46
@@ -21,7 +21,7 @@
method cancel {}
method choose_symbol_file {}
method doit {}
- method list_pids {{expr {}}}
+ method list_pids {{pattern *}}
method select_pid {}
method clear_pid_selection {}
method filter_pid_selection {}
Mo DeJong
Red Hat Inc
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 7:52 ` Attach filter should use glob matching not regexp Mo DeJong
@ 2000-06-26 10:48 ` Jim Ingham
2000-06-26 10:55 ` Tom Tromey
2000-06-26 16:12 ` Mo DeJong
0 siblings, 2 replies; 8+ messages in thread
From: Jim Ingham @ 2000-06-26 10:48 UTC (permalink / raw)
To: Mo DeJong; +Cc: Insight
Mo,
I guess using globs is okay, but is entering "*" so much easier than
entering ".*"? It is just that regular expressions are so much more
powerful than globs, that I would like to keep them around if at all
possible. Maybe a check box to switch between the two?
About how to access the process table... There wasn't anything in gdb that
I could find to help with this, but this whole Attach dialog was a really
quick hack so I didn't look that hard...
Also, you want to be careful about doing "ps -awx" because the user won't be
able to attach to anything that the he/she doesn't own (unless running as
root). Showing them a whole lot of processes that they can't actually
attach to is not a very useful thing.
Jim
> On Sun, 18 Jun 2000, Fernando Nasser wrote:
>
>> You are probably right. Could you write a patch if you have time?
>> If not I will try to look at that next month as part of the GNUPro
>> 2000 cleanups.
>>
>> Thanks.
>> Fernando
>>
>> Mo DeJong wrote:
>>>
>>> I just tried to type * into the Filter: entry in the attach
>>> to process dialog. It errored out saying "regular expression
>>> * follows nothing". This really should use glob matching not
>>> regexp matching.
>
>
>
> How about this? Is there a better way to look at the process
> table? Is this something that gdb provides an interface to?
>
>
> Index: ChangeLog
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/ChangeLog,v
> retrieving revision 1.22
> diff -u -r1.22 ChangeLog
> --- ChangeLog 2000/06/08 20:30:07 1.22
> +++ ChangeLog 2000/06/26 14:48:45
> @@ -1,3 +1,9 @@
> +2000-06-26 Mo DeJong <mdejong@redhat.com>
> +
> + * attachdlg.itb (list_pids): Use "ps axw" to get pid list, use
> + string match instead of regexp in ps filter.
> + * attachdlg.ith (list_pids): Change default argument to "*".
> +
> 2000-06-06 Fernando Nasser <fnasser@cygnus.com>
>
> * util.tcl (find_iwidgets_library): Add missing global declaration
> Index: attachdlg.itb
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/attachdlg.itb,v
> retrieving revision 1.3
> diff -u -r1.3 attachdlg.itb
> --- attachdlg.itb 2000/03/09 16:02:27 1.3
> +++ attachdlg.itb 2000/06/26 14:48:46
> @@ -37,6 +37,8 @@
> -command [code $this filter_pid_selection]
> }
>
> + $itk_component(pid_filter) insert 0 *
> +
> itk_component add pid_sep {
> frame [$itk_component(choose_pid) childsite].sep \
> -height 2 -borderwidth 1 -relief sunken
> @@ -153,8 +155,8 @@
> # point we should steal some C code to do it by hand.
> # ------------------------------------------------------------------
>
> -body AttachDlg::list_pids {{expr {}}} {
> - if {[catch {::open "|ps w" r} psH]} {
> +body AttachDlg::list_pids {{pattern *}} {
> + if {[catch {::open "|ps axw" r} psH]} {
> set errTxt "Could not exec ps: $psH
> You will have to enter the PID by hand."
> ManagedWin::open WarningDlg -message [list $errTxt]
> @@ -163,7 +165,7 @@
> gets $psH header
>
> set nfields [llength $header]
> - set nfields_m_1 [expr $nfields - 1]
> + set nfields_m_1 [expr {$nfields - 1}]
> set regexp {^ *([^ ]*) +}
> for {set i 1} {$i < $nfields_m_1} {incr i} {
> append regexp {[^ ]* +}
> @@ -175,7 +177,7 @@
>
> while {[gets $psH line] >= 0} {
> regexp $regexp $line dummy PID COMMAND
> - if {$expr == "" || [regexp $expr $COMMAND dummy]} {
> + if {[string match $pattern $COMMAND]} {
> lappend pid_list [list $PID $COMMAND]
> $itk_component(choose_pid) insert end $COMMAND
> }
> Index: attachdlg.ith
> ===================================================================
> RCS file: /cvs/src/src/gdb/gdbtk/library/attachdlg.ith,v
> retrieving revision 1.1.1.1
> diff -u -r1.1.1.1 attachdlg.ith
> --- attachdlg.ith 2000/02/07 00:19:42 1.1.1.1
> +++ attachdlg.ith 2000/06/26 14:48:46
> @@ -21,7 +21,7 @@
> method cancel {}
> method choose_symbol_file {}
> method doit {}
> - method list_pids {{expr {}}}
> + method list_pids {{pattern *}}
> method select_pid {}
> method clear_pid_selection {}
> method filter_pid_selection {}
>
>
>
> Mo DeJong
> Red Hat Inc
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 10:48 ` Jim Ingham
@ 2000-06-26 10:55 ` Tom Tromey
2000-06-26 11:05 ` Jim Ingham
2000-06-26 16:12 ` Mo DeJong
1 sibling, 1 reply; 8+ messages in thread
From: Tom Tromey @ 2000-06-26 10:55 UTC (permalink / raw)
To: Jim Ingham; +Cc: Mo DeJong, Insight
Jim> Also, you want to be careful about doing "ps -awx" because the
Jim> user won't be able to attach to anything that the he/she doesn't
Jim> own (unless running as root).
Not to mention that different "ps" implementations take different
arguments. For instance "ps -awx" doesn't work on Solaris.
Tom
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 10:55 ` Tom Tromey
@ 2000-06-26 11:05 ` Jim Ingham
0 siblings, 0 replies; 8+ messages in thread
From: Jim Ingham @ 2000-06-26 11:05 UTC (permalink / raw)
To: Tom Tromey; +Cc: Mo DeJong, Insight
on 6/26/00 10:55 AM, Tom Tromey at tromey@cygnus.com wrote:
> Jim> Also, you want to be careful about doing "ps -awx" because the
> Jim> user won't be able to attach to anything that the he/she doesn't
> Jim> own (unless running as root).
>
> Not to mention that different "ps" implementations take different
> arguments. For instance "ps -awx" doesn't work on Solaris.
>
> Tom
>
Yeah, actually, if the full ugly truth be known, this was hacked up in the
last moments before the first CodeFusion release, so I really didn't try
anything but Linux (the CodeFusion target platform) and Solaris (the box I
actually worked on). Anything else was just gravy. It really needs to be
worked over to make sure it is general. Also giving it a whirl under Cygwin
would be a pretty good idea...
Jim
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 10:48 ` Jim Ingham
2000-06-26 10:55 ` Tom Tromey
@ 2000-06-26 16:12 ` Mo DeJong
2000-06-26 20:31 ` Tom Tromey
1 sibling, 1 reply; 8+ messages in thread
From: Mo DeJong @ 2000-06-26 16:12 UTC (permalink / raw)
To: Jim Ingham; +Cc: Insight
On Mon, 26 Jun 2000, Jim Ingham wrote:
> Mo,
>
> I guess using globs is okay, but is entering "*" so much easier than
> entering ".*"? It is just that regular expressions are so much more
> powerful than globs, that I would like to keep them around if at all
> possible. Maybe a check box to switch between the two?
I agree, regexps are much cooler but there is nothing in the GUI
that would indicate that I should enter a regexp into that box.
A glob match should be the default because that is what most
people would expect. If there were some way for the user
to indicate "I am going to use a regexp now", then I could
see adding that feature.
> About how to access the process table... There wasn't anything in gdb that
> I could find to help with this, but this whole Attach dialog was a really
> quick hack so I didn't look that hard...
>
> Also, you want to be careful about doing "ps -awx" because the user won't be
> able to attach to anything that the he/she doesn't own (unless running as
> root). Showing them a whole lot of processes that they can't actually
> attach to is not a very useful thing.
The ps thing is a mess. What we really need is a C library that will
look at the process table and report results in a cross platform way.
later
Mo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 16:12 ` Mo DeJong
@ 2000-06-26 20:31 ` Tom Tromey
2000-06-27 16:11 ` Jim Ingham
0 siblings, 1 reply; 8+ messages in thread
From: Tom Tromey @ 2000-06-26 20:31 UTC (permalink / raw)
To: Mo DeJong; +Cc: Jim Ingham, Insight
Mo> The ps thing is a mess. What we really need is a C library that
Mo> will look at the process table and report results in a cross
Mo> platform way.
Look at libgtop, part of Gnome.
Tom
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Attach filter should use glob matching not regexp.
2000-06-26 20:31 ` Tom Tromey
@ 2000-06-27 16:11 ` Jim Ingham
0 siblings, 0 replies; 8+ messages in thread
From: Jim Ingham @ 2000-06-27 16:11 UTC (permalink / raw)
To: Tom Tromey, Mo DeJong; +Cc: Insight
Also sprach Tom Tromey:
> Mo> The ps thing is a mess. What we really need is a C library that
> Mo> will look at the process table and report results in a cross
> Mo> platform way.
>
> Look at libgtop, part of Gnome.
>
> Tom
Have you tried this on Solaris lately? The last time I tried the gtop
application on Solaris 2.5 (about 3 or 4 months ago) it was pretty unstable,
and I don't think it was the GUI part, since it would just go away every so
often while it was sitting there quietly updating itself; enough so oftens
that I stopped using it.
Maybe it has gotten better...
Jim
^ permalink raw reply [flat|nested] 8+ messages in thread
* Attach filter should use glob matching not regexp.
@ 2000-06-16 18:27 Mo DeJong
0 siblings, 0 replies; 8+ messages in thread
From: Mo DeJong @ 2000-06-16 18:27 UTC (permalink / raw)
To: insight
I just tried to type * into the Filter: entry in the attach
to process dialog. It errored out saying "regular expression
* follows nothing". This really should use glob matching not
regexp matching.
Mo Dejong
Red Hat Inc.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2000-06-27 16:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <394C203C.7882A1A1@cygnus.com>
2000-06-26 7:52 ` Attach filter should use glob matching not regexp Mo DeJong
2000-06-26 10:48 ` Jim Ingham
2000-06-26 10:55 ` Tom Tromey
2000-06-26 11:05 ` Jim Ingham
2000-06-26 16:12 ` Mo DeJong
2000-06-26 20:31 ` Tom Tromey
2000-06-27 16:11 ` Jim Ingham
2000-06-16 18:27 Mo DeJong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).