引数なしで実行されたcatは、起動したまま標準入力を待ち続けます。その状態で一旦GDBからコマンドを実行できるようにするため、 途中で、CTRL + Cを入力しています。
$ gdb /bin/cat
[略]
(gdb) run
Starting program: /bin/cat
^C <= CTRL + Cを押して実行を中断します。
Program received signal SIGINT, Interrupt.
0x00007ffff7afe6a0 in __read_nocancel () at ../sysdeps/unix/syscall-template.S:81
81 ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) info proc map
process 31692
Mapped address spaces:
Start Addr End Addr Size Offset objfile
0x400000 0x40b000 0xb000 0x0 /bin/cat
0x60a000 0x60b000 0x1000 0xa000 /bin/cat
0x60b000 0x60c000 0x1000 0xb000 /bin/cat
0x60c000 0x62d000 0x21000 0x0 [heap]
0x7ffff7a12000 0x7ffff7bcf000 0x1bd000 0x0 /lib/x86_64-linux-gnu/libc-2.17.so
0x7ffff7bcf000 0x7ffff7dcf000 0x200000 0x1bd000 /lib/x86_64-linux-gnu/libc-2.17.so
0x7ffff7dcf000 0x7ffff7dd3000 0x4000 0x1bd000 /lib/x86_64-linux-gnu/libc-2.17.so
0x7ffff7dd3000 0x7ffff7dd5000 0x2000 0x1c1000 /lib/x86_64-linux-gnu/libc-2.17.so
0x7ffff7dd5000 0x7ffff7dda000 0x5000 0x0
0x7ffff7dda000 0x7ffff7dfd000 0x23000 0x0 /lib/x86_64-linux-gnu/ld-2.17.so
0x7ffff7fcc000 0x7ffff7fcf000 0x3000 0x0
0x7ffff7ff8000 0x7ffff7ffa000 0x2000 0x0
0x7ffff7ffa000 0x7ffff7ffc000 0x2000 0x0 [vdso]
0x7ffff7ffc000 0x7ffff7ffd000 0x1000 0x22000 /lib/x86_64-linux-gnu/ld-2.17.so
0x7ffff7ffd000 0x7ffff7fff000 0x2000 0x23000 /lib/x86_64-linux-gnu/ld-2.17.so
0x7ffffffde000 0x7ffffffff000 0x21000 0x0 [stack]
0xffffffffff600000 0xffffffffff601000 0x1000 0x0 [vsyscall]
また、類似のコマンドにinfo sharedがあります。こちらは、マップされている共有ライブラリのみを列挙します。Syms Readという列は、デバッグ用のシンボル情報が読み込まれているか否かを示します。
(gdb) info shared From To Syms Read Shared Object Library 0x00007ffff7ddaaa0 0x00007ffff7df5439 Yes /lib64/ld-linux-x86-64.so.2 0x00007ffff7a313c0 0x00007ffff7b7c39f Yes /lib/x86_64-linux-gnu/libc.so.6
0 件のコメント:
コメントを投稿