Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.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程序,但无法正确定位源文件_C_Gdb - Fatal编程技术网

使用gdb调试C程序,但无法正确定位源文件

使用gdb调试C程序,但无法正确定位源文件,c,gdb,C,Gdb,我使用命令gcc-std=gnu99-g-pthread dotProduct\u critical\u ompi.c-I.编译我的c程序,然后使用gdb用命令gdb dotProduct调试它 但是gdb在名为dotProduct\u critical.c的终端中显示的源文件不是我编译的源文件(我的源文件是dotProduct\u critical\u ompi.c)。为什么?谢谢你的帮助 更新 在我删除输出文件并多次重新编译后,问题就解决了。但是今天,在我修改了源文件之后,错误再次出现。这

我使用命令
gcc-std=gnu99-g-pthread dotProduct\u critical\u ompi.c-I.
编译我的c程序,然后使用gdb用命令
gdb dotProduct
调试它

但是gdb在名为
dotProduct\u critical.c
的终端中显示的源文件不是我编译的源文件(我的源文件是
dotProduct\u critical\u ompi.c
)。为什么?谢谢你的帮助

更新

在我删除输出文件并多次重新编译后,问题就解决了。但是今天,在我修改了源文件之后,错误再次出现。这种方法已经不起作用了。我能做什么?(我的源文件仍然是
dotProduct\u critical\u ompi.c

命令
gdb-batch dotproduct-ex“info sources”
的输出为:


确保您正在调试编译的可执行文件,而不是另一个。更改目的地名称(不要使用吸人的
a.out
)。例如,使用
-o dotproduct
然后使用
gdb dotproduct
进行调试,然后删除
a.out
文件,重新编译并告诉我们。编译器不可能用
dotproduct\u critical.c
替换
dotproduct\u critical.c
。您的文件是符号链接吗?gdb-batch a.out-ex“info sources”的输出是什么?您给gdb的参数是什么?您能从一开始就显示gdb产生的所有输出(您可以省略版权声明)吗?