作者dryman (dryman)
看板EE_DSnP
标题Re: [建议] HW1.2.P1 break point @ line 102 的问题
时间Mon Oct 5 12:19:00 2009
分享一下整理好的gdb指令:
n next: 单步执行,但遇到副程式不会单步而是一口气执行完
s step: 也是单步执行,但遇到副程式会进去一步步做
c continue: 继续执行到break point为止
until: 直接跑完一个while回圈
return: 终止该副程式(frame),并返回到副程式呼叫点
finish: 执行完这个副程式并回到呼叫点,在你的程式深入到c lib时很有用
进去副程式时在gdb的文件中会说这是进到下一层frame
up 将焦点移到上一层frame(副程式呼叫处)
down 回到下一层frame
frame 显示当前行数、frame资讯、进入副程式点等等
backtrace 显示上层所有frame的资讯
注意这并不是控制程式执行的指令,只是帮助你了解是从哪里呼叫frame而已
p 变数 : 就是print变数
watch 变数 : 监看某个变数,当它改变值时就break
display 变数 : 下过display这个指令後,之後每次n or s 都会显示出这个变数的值
变数指令必须在程式已经创造变数时才可以去读
假如我还没进过frame,我就不能监看这个frame里面的区域变数
将break point设在区域变数都宣告好的地方
然後watch 变数,使用continue来和到底是在哪些地方改变变数的
或是用display,然後用step一步一步地看(免得跳过子回圈)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.177.225
1F:推 ric2k1:推, 顺便改一下标题... :) 10/05 16:24