gdb –annotate=

Emacs中使用gdb命令调试,然后用

gdb –annotate=0 myprog.exe 启动gdb进入gud-mode ,

不同的annotate 的值不代表不同的模式

annotate = 0是最基本的模式和在命令行使用gdb完全一样。

annotate = 1是单步调试模式,出现上下两个窗口,上面是gdb运行的buffer,下面是你代码的buffer,会在代码                 buffer中,同步指示当前运行的语句的位置。

annotate = 3是信息最完整的模式,会进入一个多窗口界面同时显示6个窗口分别是gdb-buffer, locals-buffer(局部                 变量),source-buffer,inferor I/Obuffer(正在调试程序的IO),stack-buffer,breakpoint-buffer.


无论上面的那种情况,都出现了一个现象:程序的输出不能显示,只有在程序退出的时候才显示出来。这样是非常不方便的。

 

GUD/GDB mode:

M-x gdb --annotate=3 test ;;进入gdb

如果没有进入graphical mode可以 M-x gdba 然后输入你要debug的file

C-x   : set breakpoint ;;可以直接点击旁边的fringe set/clear 断点

C-c C-l   : clear breakpoint

C-c C-s   : step(step one line code but stop in function)

C-c C-n   : next(step one line code but stepping across function)

C-c C-i   : stepi(Execute a single machine instruction)

C-c C-r   : continue(感觉还是直接按go按钮吧)

C-c C-d   : Delete the breakpoint(s) on the current source line

其他:

1. 如果更改了gdb的window 可以用: M-x gdb-restore-windows 恢复

在breakpoint buffer上:

2 Return : gdb-goto-breakpoint (即转到source对应的行)

3.D     : gdb-delete-breakpoint

4.Space   : Enable/disable the current breakpoint (`gdb-toggle-breakpoint')

5: 可以将鼠标放到一个variable上, 然后点击toolbar上的watch就可以watch a expression了

这是varibale显示在 speedbar中:

return: To expand or contract a complex data type

D     :   To delete a complex watch expression

space : To edit a variable with a simple data type

6: C-x C-a C-l : refresh a buffer


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值