相关讨论
就是形如 __asm__ __volatile__(...) 中的代码
试过stepi,好像运行不过去;如果用next,就直接跳过了。
[ 本帖最后由 prc 于 2006-11-29 18:52 编辑 ]
by
prc
-
C/C++
-
2007-01-30 18:01:17 阅读(1226) 回复(2)
by
清汤挂面
-
C/C++
-
2007-08-26 15:53:19 阅读(5991) 回复(5)
(gdb) stepi
0x080483e1 21 begin =(char*) malloc(300*1024);
(gdb) p $esp
$1 = (void *) 0xbfffc6a4
(gdb) si
0x080483e6 21 begin =(char*) malloc(300*1024);
0x080483e6 行的实际指令是:
0x080483e6 : call 0x80482c8
如何使得运行si后打印出下一条需要执行的汇编代码,而不是那条c语句呢?
请各位指点指点吧。
谢谢。
file a.out
list
在使用gdb调试程序时想要列出源代码但报错:
1 ../sysdeps/i386/elf/start.S:没有那个目录或文件
in ../sysdeps/i386/elf/start.S
不知是什么原因
(gdb) where
#0 0xe784 in normal+0x2c ()
请问后面的+0x2c ()什么意思?
gdb prog core
#0 0xc003bc98 in ()
where
warning: gdb cannot print complete stack trace since some shared libraries are missing. Set gdb_SHLIB_PATH and try again.
#0 0xc003bc98 in ()
warning: Attempting to unwind past bad PC 0xc003bc98
#1 0xc003b69c in ()
#2 0xc003b69c in ()
Cannot access memory at address 0x7
...
使用gdb和vim调试程序,如果在gdb状态下想修改源码,必须先退出gdb,然后再用vim打开源文件,好麻烦阿,请问,在gdb调试状态下可以直接更改源代码或者重新编译吗,谢谢
gdb如何运用才能像softice一样以汇编方式调试程序?
gdb在调试时是以C代码为单位的,
一次执行一行C代码,而一是一条汇编指令,如何才能让它以一条一条的汇编指令方式执行呢?