(gdb) run 339 Starting program: 339 No executable file specified. Use the "file" or "exec-file" command.
时间: 2024-10-10 13:14:44 浏览: 22
当你在GDB中尝试使用`run 339`时,收到了这样的错误信息:“No executable file specified. Use the 'file' or 'exec-file' command.” 这意味着GDB无法找到你想要运行的程序。以下是几个可能的原因和解决步骤:
1. **文件路径错误**:确保你提供的路径指向了一个可执行文件。你可以尝试检查一下路径是否正确,或者直接提供全路径,例如:`file /path/to/your/executable 339`。
2. **缺少文件**:检查指定的339是否是一个有效的程序文件名,如果是数字,它很可能代表的是PID(进程ID),而非程序文件。你应该明确指定一个程序名加上后缀如`.exe`, `.bin`, 或者其他适用于你的系统的扩展名。
3. **GDB配置**:确认GDB已经设置好默认加载的目录或者没有限制只能从特定目录加载。你可以使用`directory`命令添加或更改搜索目录。
4. **使用`exec-file`命令**:如果上述都不行,尝试替换`run`为`exec-file`,因为有时候`run`可能会尝试运行当前目录下的脚本或其他非可执行内容。
一旦解决了这个问题,你可以继续使用`run`或`exec-file`来启动并调试你的程序:
```sh
(gdb) file your_executable_name
(gdb) run 339
```
相关问题
(gdb) run bomb Starting program: bomb No executable file specified. Use the "file" or "exec-file" command.
这不是一个问题,而是一个 gdb 调试器的命令行输入,看起来你想要运行一个叫做 "bomb" 的可执行文件,但是你没有指定该文件的路径或者 gdb 找不到该文件。你可以先使用 "file" 命令指定可执行文件的路径,然后使用 "run" 命令来运行它。例如:
```
(gdb) file /path/to/bomb
(gdb) run
```
请注意替换 "/path/to/bomb" 为你实际的可执行文件路径。
(gdb) break sent.cpp:458 No symbol table is loaded. Use the "file" command. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (sent.cpp:458) pending. (gdb) run Starting program: No executable file specified. Use the "file" or "exec-file" command.
这个问题看起来是因为你没有指定可执行文件,导致 GDB 无法启动程序。你需要使用 "file" 命令或 "exec-file" 命令指定可执行文件,然后再运行程序。
请按照以下步骤进行操作:
1. 使用 "file" 命令或 "exec-file" 命令指定可执行文件,例如:
```
(gdb) file my_program
```
2. 设置断点,例如:
```
(gdb) break sent.cpp:458
```
3. 运行程序,例如:
```
(gdb) run
```
这样应该就可以成功启动程序并设置断点了。如果你还遇到其他问题,请提供更多的上下文信息,我会尽力帮助你解决问题。
阅读全文