b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

gdb 条件断点_gdb watch_gdb 条件断点 内存(10)

电脑杂谈  发布时间:2017-04-10 23:05:12  来源:网络整理

还有一个命令(disassemble)你可以查看源程序的当前执行时的机器码,这个命令会把目前内存中的指令dump出来。如下面的示例表示查看函数func的汇编代码。

(gdb) disassemble func

Dump of assembler code for function func:

0x8048450 <func>:push?p

0x8048451 <func1>:mov%esp,?p

0x8048453 <func3>:sub$0x18,%esp

0x8048456 <func6>:movl$0x0,0xfffffffc(?p)

0x804845d <func13>:movl$0x1,0xfffffff8(?p)

0x8048464 <func20>:mov0xfffffff8(?p),?x

0x8048467 <func23>:cmp0x8(?p),?x

0x804846a <func26>:jle0x8048470 <func32>

0x804846c <func28>:jmp0x8048480 <fun8>

0x804846e <func30>:mov%esi,%esi

0x8048470 <func32>:mov0xfffffff8(?p),?x

0x8048473 <func35>:add?x,0xfffffffc(?p)

0x8048476 <func38>:incl0xfffffff8(?p)

0x8048479 <fun1>:jmp0x8048464 <func20>

0x804847b <fun3>:nop

0x804847c <fun4>:lea0x0(%esi,1),%esi

0x8048480 <fun8>:mov0xfffffffc(?p),?x

0x8048483 <func51>:mov?x,?x

0x8048485 <func53>:jmp0x8048487 <func55>

0x8048487 <func55>:mov?p,%esp

0x8048489 <func57>:pop?p

0x804848a <func58>:ret

End of assembler dump.

查看运行时数据

———————

在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的式是:

print <expr>

print /<f> <expr>

<expr>是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),<f>是输出的式,比如,如果要把表达式按16进制的式输出,那么就是/x。

一、表达式

print和许多GDB的命令一样,可以接受一个表达式,GDB会根据当前的程序运行的数据来计算这个表达式,既然是表达式,那么就可以是当前程序运行中的const常量、变量、函数等内容。可惜的是GDB不能使用你在程序中所定义的宏。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40593-10.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 风花
      风花

      拉森号可不能说是老旧军舰

    热点图片
    拼命载入中...