This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb/1674: gdb 6.1 breakpoints with conditions are very very slow to reach


>Number:         1674
>Category:       gdb
>Synopsis:       gdb 6.1 breakpoints with conditions are very very slow to reach
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 15 18:08:02 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     tim walsh
>Release:        unknown-1.0
>Organization:
>Environment:
BOX 1: P3, 500MB Ram, RH 9, Kernel 2.4.20-8, gdb 5.3post-0.20021129.18rh
BOX 2: P4, 1.5GB ram, Fedora Core 2 (fresh install), Kernel 2.6.6-1.435, gdb 6.1
>Description:
I am debugging a JVM (Kaffe) using conditional breakpoints. I get gdb to look for a pattern in the bytecode being used. So something like:
 
(gdb) condition 2 code[0] == 178 && code [8] ==177

where code[] is the area the class bytecodes are stored. This happens to be the signatute of the main() method in Helloworld.class

On my old box (box 1), it takes gdb about 15 seconds to get to this conditional breakpoint. However on Box 2 it takes about 2.5 minutes to get to the same point (but it does eventually get there). However if I have no conditions on the breakpoint there are no speed problems.

Otherwise there is nothing wrong with Box 2. It compiles and runs everything faster than Box 1. I checked 'top' and gdb is using 99% of the processor during this 2.5 min wait. There is no significant disk access going on at this time either. 

Both boxes are executing/accessing the same code (but I have also recompiled the VM on Box 2)  The VM itself is single threaded program. 

I did an ldd on gdb on both boxes and they seem to be using the same shared libs. (libcurses.so.5, libm.so.6, libdl.so.2, libc.so.6, /lib/ld-linux.so.2) gdb 6.1 also uses  linux-gate.so.1

I have run out of ideas as to the problem.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]