watchpoint hangs.

Guillaume Yziquel guillaume.yziquel@citycable.ch
Sat Jan 2 20:55:00 GMT 2010


Hi.

I've been experiencing the following problem on amd64, Linux Debian, 
with version

> yziquel@seldon:~$ gdb --version
> GNU gdb (GDB) 7.0-debian

Here it goes:

> yziquel@seldon:~/git/ocaml-monetdb5$ make gdb-native
> ocamlfind ocamlopt -g -o test/monetdb_sql.native -I . test/monetdb_sql.ml monetDB5.cmxa
> ocamlfind ocamlc -g -o test/monetdb_sql.byte test/monetdb_sql.ml monetDB5.cma
> gdb -nx -silent test/monetdb_sql.native
> Reading symbols from /home/yziquel/git/ocaml-monetdb5/test/monetdb_sql.native...(no debugging symbols found)...done.
> (gdb) set breakpoint pending on
> (gdb) break mal_init
> Breakpoint 1 at 0x403d70
> (gdb) run
> Starting program: /home/yziquel/git/ocaml-monetdb5/test/monetdb_sql.native 
> [Thread debugging using libthread_db enabled]
> [New Thread 0x2aaaaf359910 (LWP 6752)]
> [Switching to Thread 0x2aaaaf359910 (LWP 6752)]
> 
> Breakpoint 1, mal_init () at mal.c:52
> 52		MT_lock_init( &mal_contextLock, "mal_contextLock");
> (gdb) continue
> Continuing.
> !MALException:malInclude:could not open file: sql
> Done!
> [Thread 0x2aaaaf359910 (LWP 6752) exited]
> 
> Program exited normally.
> (gdb) 

OK. Fine. But when I add a watchpoint, it hangs:

> yziquel@seldon:~/git/ocaml-monetdb5$ make gdb-native
> ocamlfind ocamlopt -g -o test/monetdb_sql.native -I . test/monetdb_sql.ml monetDB5.cmxa
> ocamlfind ocamlc -g -o test/monetdb_sql.byte test/monetdb_sql.ml monetDB5.cma
> gdb -nx -silent test/monetdb_sql.native
> Reading symbols from /home/yziquel/git/ocaml-monetdb5/test/monetdb_sql.native...(no debugging symbols found)...done.
> (gdb) set breakpoint pending on
> (gdb) break mal_init
> Breakpoint 1 at 0x403d70
> (gdb) run
> Starting program: /home/yziquel/git/ocaml-monetdb5/test/monetdb_sql.native 
> [Thread debugging using libthread_db enabled]
> [New Thread 0x2aaaaf359910 (LWP 7063)]
> [Switching to Thread 0x2aaaaf359910 (LWP 7063)]
> 
> Breakpoint 1, mal_init () at mal.c:52
> 52		MT_lock_init( &mal_contextLock, "mal_contextLock");
> (gdb) print box
> $1 = {0x0 <repeats 64 times>}
> (gdb) watch box
> Watchpoint 2: box
> (gdb) continue
> Continuing.

And it eats up 90% of one of my CPU from now on...

All the best,

-- 
      Guillaume Yziquel
http://yziquel.homelinux.org/



More information about the Gdb mailing list