我正在使用gdb執行一些代碼分析。只是假設程序是像進入使用GDB
#include<stdio.h>
getinput()
{
char buffer[8];
gets(buffer);
puts(buffer);
}
int main()
{
getinput();
return 0;
}
提到下面我用gcc withsome其他交換機遵守它:
gcc -ggdb -mpreferred-stack-boundary -fno-stack-protection -o demo demo.c
在用gdb分析,當我插上getinput斷點(),並得到(緩衝液)函數.. 然後,使用「S」通過功能步驟..上得到(緩衝液)函數..
它不要求用戶輸入,而它要求userinput。 GDB直接步入函數獲取......但我不希望它移動到獲得功能..
(gdb) break 6
Breakpoint 2 at 0x8048441: file demo.c, line 6.
(gdb) s
The program is not being run.
(gdb) run
Starting program: /root/BufferOverflow/demo
Breakpoint 1, main() at demo.c:11
11 getinput();
(gdb) s
Breakpoint 2, getinput() at demo.c:6
6 gets(buffer);
(gdb) s
_IO_gets (buf=0xbfffeda8 "y\204\004\b") at iogets.c:32
32 iogets.c: No such file or directory.
(gdb)
我收到上述錯誤。任何人都可以請幫我關於這個?