- 浏览: 1448972 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
gdb保留历史:
show history
set history expansion
set history save
sethistory size 256
保存在 ~/.gdb_history
干掉的进程会重建
__epoll_wait_nocancel ()
怎么建立的?不要忽略!!
ctrl+f
(gdb)
show history
set history expansion
set history save
sethistory size 256
保存在 ~/.gdb_history
干掉的进程会重建
__epoll_wait_nocancel ()
怎么建立的?不要忽略!!
ctrl+f
(gdb)
[root@red54apple gdbtest]# 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 [root@red54apple gdbtest]# pidof /usr/local/nginx/objs/nginx 5000 4999 4998 4997 4996 4995 4994 4993 4992 [root@red54apple gdbtest]# [root@red54apple gdbtest]# [root@red54apple gdbtest]# 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
[root@red54apple ~]# 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)
发表评论
-
nginx模块开发(二) 使用gdb-dashboard调试
2017-08-11 18:47 1931gdb-dashboard或者 gdbgui 或者gdb自带 ... -
qemu+emacs+gdb调试内核
2015-12-02 22:15 2661core生成的位置 echo “/data/coredump/ ... -
gdb emacs
2015-11-20 22:24 693参考 http://www.cnblogs.com/q ... -
GDB的堆栈
2012-09-16 18:16 3280#include <stdio.h> #in ... -
gdb log
2012-09-11 23:38 1511有时候比如使用gdb的时候 查看help很长, 比如 hel ... -
gdb参数
2011-12-06 23:46 925参考http://hong7917-163-com.iteye ... -
value optimized out
2011-12-05 11:36 4563gdb -d ../nginx_10081/sbin/ ngi ... -
mac下的gdb生成core
2011-11-29 00:33 5035lion下似乎没有/etc/sysctl.conf 如果是li ... -
查看进程的内存映射
2011-09-24 00:04 3379cat /proc/<PID>/maps 或 ( ... -
(转载)gdb调试java
2011-09-21 23:12 1533转载http://blog.csdn.net/haoe ... -
gdb调试nginx的helloworld
2011-09-21 00:09 4969假设nginx装在了/usr/local/nginx/ ./n ... -
gdb的helloworld
2011-09-16 22:35 1125想起东软的1个linux老师,就讲了两天基本就把这书讲完了, ...
相关推荐
GDB调试GDB调试GDB调试GDB调试GDB调试 GDB调试GDB调试GDB调试GDB调试GDB调试
这是GDB完全手册,用来在Linux环境下的GDB调试,很重要
gdb 源码
GDB完全手册GDB完全手册GDB完全手册GDB完全手册GDB完全手册
GDB中文手册 介绍GDB的基本调试方法
gdb调试案例gdb64常用命令说明: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 ...与命令n不同,n是不进入调用的函数的
gdb64.exe和gdb.exe,呐,如名字所示喽
gdb手册debuging with gdb 中文版本的
GDB不完全手册( 入门篇) 初步讲解gdb跟踪调试方式. doc文档中文
gdb调试器的使用gdb调试器的使用gdb调试器的使用gdb调试器的使用gdb调试器的使用
debugging with GDB GDB使用指南
Linux下的gdb调试程序的教程,根据几个程序代码的实例,介绍gdb的详细调试教程,我就是跟这个教程学的。效果还行。
后台程序中经常会存在一部分内存泄露,但是不能很好的定位造成内存泄露的代码,并进行修改,内存泄露不进行修改就会造成程序运行时占用的内存不断升高,逐渐的导致系统的不稳定,现将前一段时间通过GDB调试工具查找内存...
GDB官网用户手册
gdb完全手册,调试C gdb完全手册,调试C gdb完全手册,调试C
找了很久才找到 , 压缩包中分别有gdb64.exe和gdb.exe, 2积分不多。
GDB详细手册,文档内部分内容: //查看运行中的线程 (gdb) info thread //查看线程 (gdb) thread <n> //切换为线程id (gdb) bt //backtrace 打印堆栈 (gdb) break xx.cpp:xx thread all //在所有线程上打断点 (gdb) ...
用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序 用GDB调试程序
GDB manual.pdf