Next: , Previous: Linking executables, Up: Using libtool   [Contents][Index]


3.4 ¼Â¹Ô·Á¼°¤Î¥Ç¥Ð¥Ã¥°

hell¤¬Ê£»¨¤Ê¥×¥í¥°¥é¥à¤Î¾ì¹ç¡¤¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¤½ ¤ì¤Î¥Æ¥¹¥È¤È¥Ç¥Ð¥Ã¥°¤ò´Ö°ã¤¤¤Ê¤¯¹Ô¤¤¤¿¤¤¤Ç¤·¤ç¤¦¡¥¾åµ­¤Î¥»¥¯¥·¥ç¥ó¤Ç¡¤ libtool¥é¥Ã¥Ñ¡¼¥¹¥¯¥ê¥×¥È¤¬¡¤¥×¥í¥°¥é¥à¤òľÀܼ¹Ԥ¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë ÊýË¡¤ò¸«¤Þ¤·¤¿¤¬¡¤»Äǰ¤Ê¤¬¤é¡¤¤³¤Î¥á¥«¥Ë¥º¥à¤Ï¥Ç¥Ð¥Ã¥¬¤Î¼ÙËâ¤Ë¤Ê¤ê¤Þ¤¹¡¥

burger$ gdb hell
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc.

"hell": not in executable format: File format not recognized

(gdb) quit
burger$

»Äǰ¤Ç¤¹¡¥GDB¤Ï¼Â¹Ô·Á¼°¤¬¤¢¤ë¾ì½ê¤¬Ê¬¤«¤é¤Ê¤¤¤Î¤Çưºî¤·¤Þ¤»¤ó¡¥¤½¤Î¤¿ ¤á¡¤¤â¤¦°ìÅټ¹ԷÁ¼°¤ÇGDB¤ò¸Æ¤Ó½Ð¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡¥

burger$ gdb .libs/hell
trick:/home/src/libtool/demo$ gdb .libs/hell
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc.
(gdb) break main
Breakpoint 1 at 0x8048547: file main.c, line 29.
(gdb) run
Starting program: /home/src/libtool/demo/.libs/hell
/home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.2'

Program exited with code 020.
(gdb) quit
burger$

¤¢¤¡¡¥¤µ¤Æ¡¤GDB¤Ï¡¤hell¤¬¥ê¥ó¥¯¤·¤Æ¤¤¤ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¸«¤Ä¤±¤ë ¤³¤È¤¬¤Ç¤­¤Ê¤¤¤¿¤áʸ¶ç¤ò¸À¤¤¤Þ¤·¤¿¡¥¤½¤Î¤¿¤á¡¤Àµ¤·¤¤¥é¥¤¥Ö¥é¥ê¥Ñ¥¹¤òÀß Äꤷ¤Æ¥Ç¥Ð¥Ã¥¬¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¡¤libtool¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡¥¹¬¤¤¡¤ .libs¥Ç¥£¥ì¥¯¥È¥ê¤ò´°Á´¤Ë˺¤ì¤Æ¡¤¤½¤Î¤Þ¤Þ¤Î¼Â¹Ô·Á¼°¤Î ¥é¥Ã¥Ñ¡¼¤Ç¼Â¹Ô²Äǽ¤Ç¤¹(see Execute mode)¡¥

burger$ libtool --mode=execute gdb hell
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc.
(gdb) break main
Breakpoint 1 at 0x8048547: file main.c, line 29.
(gdb) run
Starting program: /home/src/libtool/demo/.libs/hell

Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29
29	  printf ("Welcome to GNU Hell!\n");
(gdb) quit
The program is running.  Quit anyway (and kill it)? (y or n) y
burger$