Re: problem when debug glib source code with gdb
- From: jcupitt gmail com
- To: 落痕 <losemyheaven qq com>, GTK mailing list <gtk-list gnome org>
- Subject: Re: problem when debug glib source code with gdb
- Date: Tue, 24 Nov 2015 08:57:03 +0000
On 24 November 2015 at 02:45, 落痕 <losemyheaven qq com> wrote:
Hi,
Thanks for your suggestion.
I tried, but it doesn't work.
Perhaps you did not set LD_LIBRARY_PATH? On Ubuntu I use these steps:
$ cd ~/packages/gtk/glib-2.46.1
$ CFLAGS=-g ./configure
$ make
$ make install
This will install glib to /usr/local. Now make a test program:
$ cd
$ more test.c
#include <glib.h>
int
main( int argc, char **argv )
{
GHashTable *table = g_hash_table_new( g_str_hash, g_str_equal );
return( 0 );
}
Now compile it. You need to make sure pkg-config is seeing your new
home-made glib:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config glib-2.0 --cflags
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include
Yes, it is seeing the new one in /usr/local. Now compile:
$ gcc test.c `pkg-config glib-2.0 --cflags --libs`
At run-time it will pick up the system glib library. You need to set
LD_LIBRARY_PATH to make it use your new one.
$ export LD_LIBRARY_PATH=/usr/local/lib
$ ldd a.out | grep glib
libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x00007fde5dd6b000)
Now run it.
john kiwi:~/try$ gdb a.out
Reading symbols from a.out...(no debugging symbols found)...done.
(gdb) break g_hash_table_new
Breakpoint 1 at 0x400620
(gdb) run
Starting program: /home/john/try/a.out
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, g_hash_table_new (hash_func=0x7ffff7ab174c <g_str_hash>,
key_equal_func=0x7ffff7ab170f <g_str_equal>) at ghash.c:674
674 return g_hash_table_new_full (hash_func, key_equal_func, NULL, NULL);
(gdb)
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]