使用gdb进行调试,在执行list时,出现No such file or directory的情况。这是因为可执行文件中有符号表但没有代码,显示代码还是需要源文件。 如果源文件位置发生改变、或将可执行文件放在别的机器上执行,无法找到源文件,就不能显示代码了。此时使用directory命令指定源文件目录即可。
所以我执行了 安装好了之后重新进行gdb调试,好了!
_IO_puts (str=0x4006b8 "it will calc a + b") at ioputs.c:33 33 ioputs.c: No such file or directory. (gdb) finish #继续完成该函数调用 Run till exit from #0 _IO_puts (str=0x4006b8 "it will calc a + b") at ioputs.c:33 it will calc a + b main () at gdbStep.c:27 ...
1 main.c: No such file or directory. (gdb) 它就会提示找不到源码文件了,那么怎么办呢? 我们可以使用dir命名指定源码路径,例如: (gdb) dir ./temp Source directories searched: /home/hyb/workspaces/gdb/sourceCode/./temp:$cdir:$cwd 这个时候它就能找到源码路径了。我这里使用的是相对路径,保险起见,你...
(gdb)l1main.c:No such file or directory.(gdb) 它就会提示找不到源码文件了,那么怎么办呢? 我们可以使用dir命名指定源码路径,例如: 代码语言:javascript 复制 (gdb)dir./temp Source directories searched:/home/hyb/workspaces/gdb/sourceCode/./temp:$cdir:$cwd ...
$ mv main.c mian.c$ gdb main...(gdb) l5 main.c: No such file or directory.in main.c 可见gcc的-g选项并不是把源代码嵌入到可执行文件中,在调试时也需要源文件。现在把源代码恢复原样,我们继续调试。首先用start命令开始执行程序: $ gdb main...(gdb) startTemporary breakpoint 1 at 0x8048415...
81../sysdeps/unix/syscall-template.S: No such file or directory. (gdb) main () at write.c:18 18if (fd<0) (gdb) 25printf("open file:hello.txt %d\n",fd); (gdb) __printf (format=0x400a26 "open file:hello.txt %d\n") at printf.c:28 ...
c: No such file or directory. (gdb) set follow-fork-mode child # fork后继续调试子进程,而父进程不受影响 (gdb) b doit # 加断点 Breakpoint 1 at 0x40ee38: file telnet/tels/app/telnetd.c, line 357. (gdb) c # 让暂停的程序继续运行程序 Continuing. (gdb) n # next单步执行代码,不进入...
可加在Makefile里面, 顺便扯一句,Makefile这种东西对于搞开源软件的人,还真是得精通,我随便想写个Makefile玩着,突然感觉自己头脑一片空白。 2) gdb的多线程功能 bt 查看当前线程的调用栈 bt full 查看详细的调用栈 info threads 可以查看所有线程的信息 thread <num> 可以具体跳转到某个线程 f <num> 可以...
O_RDONLY) = -1 ENOENT (No such file or directory) 108 write(2, ": Permission denied", 19) = 19 109 write(2, "\n", 1) = 1 110 close(1) = 0 111 exit_group(1) 注意在第 99 行处,命令会失效,因为系统调用open("/etc/shadow", O_RDONLY|O_LARGEFILE)失效了,返回了一个 EACCESS ...