所以,我正在学习如何使用C语言进行编程,而且我正在(或者正在尝试)与GDB一起玩.
所以我写了这个简单的代码:
#includeint main (int argc, char *argv[]){ int i; int n = atoi(argv[2]); for (i=0; i 我试图让GDB获得一些信息.所以我用它来尝试从内存地址中获取参数,但这就是我得到的:
(gdb) break main Breakpoint 1 at 0x4005d7: file repeat2.c, line 14. (gdb) break 17 Breakpoint 2 at 0x40062c: file repeat2.c, line 17. (gdb) run hello 5 Starting program: /root/Scrivania/Programmazione/repeat2 hello 5 warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000 Breakpoint 1, main (argc=3, argv=0x7fffffffe948) at repeat2.c:14 14 int n = atoi(argv[2]); (gdb) cont Continuing. 1 ------> hello 2 ------> hello 3 ------> hello 4 ------> hello 5 ------> hello Breakpoint 2, main (argc=3, argv=0x7fffffffe948) at repeat2.c:18 18 return 0; (gdb) x/3xw 0x7fffffffe948 (I try to read what argv contains) 0x7fffffffe948: 0xffffebbc 0x00007fff 0xffffebe3 (gdb) x/s 0xffffebbc (I try to read one of the argoments in the array) 0xffffebbc:为什么我一直收到这个错误?我是64位,我正在使用Kali Linux
该程序如果编译好了,只是我无法理解为什么我不能用GDB读取这些值.