Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法设置gdb断点 我用多个C++文件进行程序工作。我已经通过gdb运行了可执行文件以调试分段错误。随后,gdb backtrace提供了分段故障前的函数列表。后来,我尝试在文件中的特定行号上设置断点。(指定的路径是绝对路径)_C++_Debugging_Gdb - Fatal编程技术网

无法设置gdb断点 我用多个C++文件进行程序工作。我已经通过gdb运行了可执行文件以调试分段错误。随后,gdb backtrace提供了分段故障前的函数列表。后来,我尝试在文件中的特定行号上设置断点。(指定的路径是绝对路径)

无法设置gdb断点 我用多个C++文件进行程序工作。我已经通过gdb运行了可执行文件以调试分段错误。随后,gdb backtrace提供了分段故障前的函数列表。后来,我尝试在文件中的特定行号上设置断点。(指定的路径是绝对路径),c++,debugging,gdb,C++,Debugging,Gdb,但是,gdb给出了以下信息: No source file named /aia/r015/home/sathish/zfs_amr/src/zfslbminterfaced2q9.cpp. 但是,该位置确实存在这种特殊情况。这条信息到底意味着什么 这条信息到底意味着什么 该消息表示GDB不知道任何名为/aia/r015/home/sathish/zfs_amr/src/zfslbinterfaced2q9.cpp的源文件 这种情况可能有多种原因: 缺少此文件的调试信息,这可能是因为该文件在

但是,gdb给出了以下信息:

No source file named /aia/r015/home/sathish/zfs_amr/src/zfslbminterfaced2q9.cpp.
但是,该位置确实存在这种特殊情况。这条信息到底意味着什么

这条信息到底意味着什么

该消息表示GDB不知道任何名为
/aia/r015/home/sathish/zfs_amr/src/zfslbinterfaced2q9.cpp的源文件

这种情况可能有多种原因:

  • 缺少此文件的调试信息,这可能是因为该文件在编译时未使用
    -g
    ,也可能是因为后来删除了调试信息(可能是无意中)
  • 在上面的路径中有一些符号链接,GDB通过完全解析的路径名知道该文件
  • 文件实际上根本没有链接到可执行文件
  • 共享库的文件部分,该共享库的符号尚未加载
  • 等等
正如帕特所建议的,在
zfslbinterfaced2q9.cpp:100
上设置断点更有可能起作用

如果这不起作用,
信息源将告诉您GDB知道哪些文件

更新:

信息来源为空

这意味着应用程序根本没有任何调试信息

通常,发生这种情况的原因有两个:

  • 您忽略了在链接行中指定
    -g
    (有些平台在编译和链接时都需要
    -g
  • 在链接行的某个地方有一个“杂散的”
    -s
    (它会剥离最终的可执行文件)

尝试在没有完整路径的情况下指定源文件名,例如(gdb)break zfslbinterfaced2q9.cpp:100另一个想法:您是否使用调试信息编译程序,即使用-g标志?是的,该程序使用-g3和-ggdbinfo编译。信息源为“已读入符号的源文件”提供空白信息;以及“按需读入符号的源文件:”
No source file named /aia/r015/home/sathish/zfs_amr/src/zfslbminterfaced2q9.cpp.