- 浏览: 1477885 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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调试内核
参考
http://www.cnblogs.com/qlwy/archive/2012/06/04/2535297.html
http://blog.csdn.net/liigo/article/details/582231
emacs gdb-sample.c
编译
m-x compile
Compile command: gcc -o gdb-sample -g gdb-sample.c
gdb模式
m-x gdb
Run gdb (like this): gdb -i=mi gdb-sample
gdb的多窗口
M-x gdb-many-windows
b main
如果乱了使用
M-x gdb-restore-windows
每次都查看的变量值
display n
命令 意义 用法
list 从第一行开始列出源码(默认10行) l
l 3 (开始行)
break
设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。
其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编,可以不予理会此用法。
b <行号>
b <函数名称>
b *<函数名称>
b *<代码地址>
run 开始调试程序 r
continue 继续执行被调试程序,直至下一个断点或程序结束。 c
clear 删除特定行的断点 clear <行号>
delete 删除断点,编号从1开始 d <编号>
next line 执行一行源程序代码,此行代码中的函数调用也一并执行。 n
step line 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数 s
until 结束当前循环 until
print 可以检查各个变量的值,数组的值,以及函数等 print p (p为变量名)
print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值)
显示数组: p <数组名>
显示数组元素:p <*数组指针>
显示数组int a[N]的特定值:
① p *a@10
② p (int [10])*10
whatis 可以显示某个变量的类型 whatis p
info 用于显示各类信息 如:info b 显示断点信息
info r 寄存器信息
info local 显示当前函数中的局部变量信息
info prog 显示被调试程序的执行状态
quit 退出gdb调试 q
http://www.cnblogs.com/qlwy/archive/2012/06/04/2535297.html
http://blog.csdn.net/liigo/article/details/582231
[root@node11 ~]# cat gdb-sample.c #include <stdio.h> int nGlobalVar = 0; int tempFunction(int a, int b) { printf("tempFunction is called, a = %d, b = %d \n", a, b); return (a + b); } int main() { int n; n = 1; n++; n--; nGlobalVar += 100; nGlobalVar -= 12; printf("n = %d, nGlobalVar = %d \n", n, nGlobalVar); n = tempFunction(1, 2); printf("n = %d", n); return 0; } [root@node11 ~]#
emacs gdb-sample.c
编译
m-x compile
Compile command: gcc -o gdb-sample -g gdb-sample.c
gdb模式
m-x gdb
Run gdb (like this): gdb -i=mi gdb-sample
gdb的多窗口
M-x gdb-many-windows
b main
如果乱了使用
M-x gdb-restore-windows
每次都查看的变量值
display n
命令 意义 用法
list 从第一行开始列出源码(默认10行) l
l 3 (开始行)
break
设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。
其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编,可以不予理会此用法。
b <行号>
b <函数名称>
b *<函数名称>
b *<代码地址>
run 开始调试程序 r
continue 继续执行被调试程序,直至下一个断点或程序结束。 c
clear 删除特定行的断点 clear <行号>
delete 删除断点,编号从1开始 d <编号>
next line 执行一行源程序代码,此行代码中的函数调用也一并执行。 n
step line 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数 s
until 结束当前循环 until
print 可以检查各个变量的值,数组的值,以及函数等 print p (p为变量名)
print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值)
显示数组: p <数组名>
显示数组元素:p <*数组指针>
显示数组int a[N]的特定值:
① p *a@10
② p (int [10])*10
whatis 可以显示某个变量的类型 whatis p
info 用于显示各类信息 如:info b 显示断点信息
info r 寄存器信息
info local 显示当前函数中的局部变量信息
info prog 显示被调试程序的执行状态
quit 退出gdb调试 q
发表评论
-
xl2tp 备份
2019-09-24 16:25 6942019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
nginx模块开发(二) 使用gdb-dashboard调试
2017-08-11 18:47 2010gdb-dashboard或者 gdbgui 或者gdb自带 ... -
consul的基本使用
2017-06-27 11:13 1402### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 597###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 634《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1959参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 953/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 626找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1803上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 995不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4361假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659564位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1745转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1621接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1544qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1030使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2266转发表 在三台机器上建立三个namespace 192.16 ...
相关推荐
在emacs中使用gdb,网页格式,经典。
在Emacs中使用GDB调试是软件开发中的一个高效工具,尤其对于C/C++程序员来说。Emacs作为一个强大的文本编辑器,集成了GDB(GNU调试器),使得开发者可以在Emacs环境中直接进行程序的调试工作,无需离开熟悉的开发...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
Emacs-GDB是GNU Emacs集成的一种强大的调试器接口,它为GNU Debugger (GDB) 提供了一个图形化的用户界面。这个界面充分利用了Emacs的强大功能,使得程序员可以在一个统一的环境中进行代码编辑、编译和调试,提高了...
The.Definitive.Guide.to.GCC.2nd.Edition.2006.pdf Debugging+With+Gdb,+9Th+Ed.pdf Learning_GNU_Emacs_Third_Edition.chm Linux.Commands.Editors.and.Shell.Programming.chm ...Emacs,GCC,Make,GDB,Bash
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
描述中提到了"有watch, stacktrace等窗口,真正实现图形化gdb",这表明我们可以通过这些插件来增强Emacs的gdb集成,提供更直观的调试体验。GDB(GNU Debugger)是一个开源的、跨平台的调试器,用于调试C、C++、...
3. **集成调试**:Emacs有内置的调试接口,如edebug,可以方便地调试 Lisp 代码,还有诸如 gdb 的集成,用于调试 C/C++ 等语言。 4. **版本控制系统集成**:Emacs与Git等版本控制系统无缝集成,允许用户在编辑器内部...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.如Debugging+...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...
收发电子邮件 通过FTP/TRAMP编辑远程档案 通过Telnet登录主机 上新闻组 登陆IRC和朋友交流 查看日历 撰写文章大纲 对多种编程语言的编辑 调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等 玩游戏 ...
至于"linux emacs gdb"的标签,表明这个学习资料也涵盖了在Linux环境下使用Emacs进行调试,特别是与GDB(GNU调试器)的集成。GDB是用于C、C++等语言的调试工具,Emacs可以作为其前端,提供方便的交互式调试环境,...
GDB可以与Emacs集成,提供更丰富的交互式调试体验,例如使用`M-x gdb`启动GDB。 9. **GDB的文件和对象** 使用`file`命令指定要调试的可执行文件,`attach`命令可以附加到正在运行的进程进行调试。 10. **符号表...
6. **编译与调试**:通过`M-x` `compile`可以运行make命令,集成GDB进行源码级调试。 7. **代码折叠**:使用`M-x` `hide-subtree`和`M-x` `show-subtree`可以折叠和展开代码块,方便查看和管理大型代码文件。 8. *...
这包括在命令行界面中运行,或者与其他前端工具(如ddd、Emacs等)集成。不同的模式提供不同的交互方式和功能集,以满足不同开发者的习惯。 2.1.3小节则描述了GDB在启动时会进行哪些操作。GDB在启动后会自动加载...
它可以被集成到许多文本编辑器中,如vim和emacs等。 #### 二、GDB的主要功能 1. **启动程序**:可以指定任何可能影响程序行为的参数来启动程序。 2. **设置断点**:可以在指定条件下使程序停止执行,以便进行调试...