添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

(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.

227浏览 · 2024-03-19 15:45:12
这个问题看起来是因为你没有指定可执行文件,导致 GDB 无法启动程序。你需要使用 "file" 命令或 "exec-file" 命令指定可执行文件,然后再运行程序。 请按照以下步骤进行操作: 1. 使用 "file" 命令或 "exec-file" 命令指定可执行文件,例如: (gdb) file my_program 2. 设置断点,例如: (gdb) break sent.cpp:458 3. 运行程序,例如: (gdb) run 这样应该就可以成功启动程序并设置断点了。如果你还遇到其他问题,请提供更多的上下文信息,我会尽力帮助你解决问题。
相关问题
在CMakeLists.txt文件中遇到"No symbol table is loaded. Use the 'file' command." 这样的错误通常是因为CMake未成功生成对应的可调试信息(Debug Information),这可能是由于未启用调试构建选项或是链接器配置问题。 要解决这个问题,首先需要确保你的CMakeLists.txt文件配置了正确的构建类型。对于支持调试的构建,你需要设置`CMAKE_BUILD_TYPE`,例如: ```cmake # 添加对debug型的构建支持 if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Debug) endif() # 或者更明确地设置为Debug set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") # 添加-g标志生成调试信息 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -g") # 对于可执行文件也添加调试信息 ```
这个错误提示意味着 gdb 无法找到可执行文件的符号表。在大多数情况下,这是因为可执行文件没有被编译成调试模式。为了解决这个问题,您需要在编译时使用调试标志来生成可执行文件。 如果您已经编译了调试版本的可执行文件,那么您需要确保将可执行文件和符号表文件都加载到 gdb 中。您可以使用以下命令来加载可执行文件: (gdb) file executable_file