人类已经阻止不了gdb了

gdb保留历史:
show history
set history expansion
set history save
sethistory size 256
保存在 ~/.gdb_history

干掉的进程会重建
__epoll_wait_nocancel ()
怎么建立的?不要忽略!!

ctrl+f
(gdb)

[code="linux"]# gdb
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
(gdb) attach 4992
Attaching to process 4992
Reading symbols from /opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx...done.
Reading symbols from /lib64/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread 0x2b8b4d052520 (LWP 4992)]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libcrypto.so.6...done.
Loaded symbols for /lib64/libcrypto.so.6
Reading symbols from /usr/lib64/libz.so.1...done.
Loaded symbols for /usr/lib64/libz.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib64/libnss_files.so.2
0x0000003b6e23079a in sigsuspend () from /lib64/libc.so.6
(gdb) info proc
process 4992
cmdline = 'nginx: master process /usr/local/nginx/objs/nginx'
cwd = '/root/gdbtest'
exe = '/opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx'
(gdb) q
The program is running. Quit anyway (and detach it)? (y or n) y
Detaching from program: /opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx, process 4992
# pidof /usr/local/nginx/objs/nginx
5000 4999 4998 4997 4996 4995 4994 4993 4992
#
#
# gdb
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
(gdb) attach 4999
Attaching to process 4999
Reading symbols from /opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx...done.
Reading symbols from /lib64/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread 0x2b8b4d052520 (LWP 4999)]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libcrypto.so.6...done.
Loaded symbols for /lib64/libcrypto.so.6
Reading symbols from /usr/lib64/libz.so.1...done.
Loaded symbols for /usr/lib64/libz.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib64/libnss_files.so.2
0x0000003b6e2d3fd3 in __epoll_wait_nocancel () from /lib64/libc.so.6
(gdb) info proc
process 4999
cmdline = 'nginx: worker process'
cwd = '/root/gdbtest'
exe = '/opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx'
(gdb) info args
No symbol table info available.
(gdb) b proc
Function "proc" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) x proc
No symbol "proc" in current context.
(gdb) info *proc
Undefined info command: "*proc". Try "help info".
(gdb) info program
Using the running image of attached Thread 0x2b8b4d052520 (LWP 4999).
Program stopped at 0x6e2d3fd3.
(gdb) x 0x2b8b4d052520
0x2b8b4d052520: 0x4d052520
(gdb) x/c 0x2b8b4d052520
0x2b8b4d052520: 32 ' '
(gdb) x/i 0x2b8b4d052520
0x2b8b4d052520: and %ah,0x2b8b4d05(%rip) # 0x2b8b7890722b
(gdb) p port.6281
No symbol "port" in current context.
(gdb) shell ps -ef|grep nginx
root 4992 1 0 Sep22 ? 00:00:00 nginx: master process /usr/local/nginx/objs/nginx
nobody 4993 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4994 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4995 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4996 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4997 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4998 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 4999 4992 0 Sep22 ? 00:00:00 nginx: worker process
nobody 5000 4992 0 Sep22 ? 00:00:00 nginx: worker process
root 5121 5082 0 00:15 pts/1 00:00:00 bash -c ps -ef|grep nginx
root 5123 5121 0 00:15 pts/1 00:00:00 grep nginx
(gdb) attach 4992
A program is being debugged already. Kill it? (y or n) y
Attaching to program: /opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx, process 4992
[Thread debugging using libthread_db enabled]
[New Thread 0x2b8b4d052520 (LWP 4992)]
Loaded symbols for /lib64/libpthread.so.0
Loaded symbols for /lib64/libcrypt.so.1
Loaded symbols for /lib64/libm.so.6
Loaded symbols for /lib64/libcrypto.so.6
Loaded symbols for /usr/lib64/libz.so.1
Loaded symbols for /lib64/libc.so.6
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Loaded symbols for /lib64/libdl.so.2
Loaded symbols for /lib64/libnss_files.so.2
ngx_vslprintf (buf=0x6d881c "",
last=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>, fmt=0x4ae2fb "%4d/%02d/%02d %02d:%02d:%02d", args=0x7fff1a77bb30)
at src/core/ngx_string.c:157
157 while (*fmt && buf < last) {
(gdb) shell ps -ef|grep nginx[/code]

[code="linux"]# gdb
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
(gdb) shell pidof /usr/local/nginx/objs/nginx
5283 5279 5222 5000 4996 4995 4994 4993 4992
(gdb) x/i $pc
No registers.
(gdb) show reg
Undefined show command: "reg". Try "help show".
(gdb) attach 5283
Attaching to process 5283
Reading symbols from /opt/backup/mynginx/workdir/nginx-1.0.5/objs/nginx...done.
Reading symbols from /lib64/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread 0x2b8b4d052520 (LWP 5283)]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libcrypto.so.6...done.
Loaded symbols for /lib64/libcrypto.so.6
Reading symbols from /usr/lib64/libz.so.1...done.
Loaded symbols for /usr/lib64/libz.so.1
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib64/libnss_files.so.2
0x0000003b6e2d3fd3 in __epoll_wait_nocancel () from /lib64/libc.so.6
(gdb) show reg
Undefined show command: "reg". Try "help show".
(gdb) info reg
rax 0xfffffffffffffffc -4
rbx 0x3b6e01bbc0 255248677824
rcx 0xffffffffffffffff -1
rdx 0x200 512
rsi 0x13cf1370 332338032
rdi 0x16 22
rbp 0x7fff1a77bfb0 0x7fff1a77bfb0
rsp 0x7fff1a77bf28 0x7fff1a77bf28
r8 0x17566ce 24471246
r9 0x4e7b688a 1316710538
r10 0x5 5
r11 0x246 582
r12 0x0 0
r13 0x7fff1a77c550 140733637444944
r14 0x0 0
r15 0x0 0
rip 0x3b6e2d3fd3 0x3b6e2d3fd3 <__epoll_wait_nocancel+10>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
fctrl 0x37f 895
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
(gdb) x/i $pc
0x3b6e2d3fd3 <__epoll_wait_nocancel+10>: cmp $0xfffffffffffff001,%rax
(gdb)
(gdb) x/10i $pc
0x3b6e2d3fd3 <__epoll_wait_nocancel+10>: cmp $0xfffffffffffff001,%rax
0x3b6e2d3fd9 <__epoll_wait_nocancel+16>: jae 0x3b6e2d4038 <epoll_wait+120>
0x3b6e2d3fdb <__epoll_wait_nocancel+18>: retq
0x3b6e2d3fdc <epoll_wait+28>: sub $0x28,%rsp
0x3b6e2d3fe0 <epoll_wait+32>: mov %rdi,0x8(%rsp)
0x3b6e2d3fe5 <epoll_wait+37>: mov %rsi,0x10(%rsp)
0x3b6e2d3fea <epoll_wait+42>: mov %rdx,0x18(%rsp)
0x3b6e2d3fef <epoll_wait+47>: mov %rcx,0x20(%rsp)
0x3b6e2d3ff4 <epoll_wait+52>: callq 0x3b6e2dfa80 <__libc_enable_asynccancel>
0x3b6e2d3ff9 <epoll_wait+57>: mov 0x8(%rsp),%rdi
(gdb) [/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值